오늘의 한 일
- TIL, WIL 잘 쓰는 법 특강
- pandas, numpy 둘러보기
- 장고 타임어택 테스트
pandas, numpy 둘러보기
앞으로 프로젝트에 쓰일 예정인 YOLOv5에 대해 조금 더 알아보는 시간을 가졌다.
result = results.pandas().xyxy[0].to_numpy()
특강과 테스트에서 당연하단듯이 쓰긴 했지만
pandas를 사용한 넘파이 배열 변환이라고 하는데, pandas도 처음 써보고 numpy 배열도 처음 본것 아닌가? 그냥 array랑은 어떻게 다른거지? 싶어 구글링으로 공부해보는 시간을 가졌다..
참조)
https://foss4g.tistory.com/1646
https://pandas.pydata.org/docs/user_guide/10min.html#min
어떻게 돌아가는지는 알아둬야 할 것 같아서 찾아봤는데 단기간에 이해하긴 너무 어려웠던것 같다.. 일단 써보면서 차차 알아가야할듯
장고 타임어택 테스트
파이참 없이 vscode, git bash 만을 사용하여 작업했다.
1. 프로젝트 폴더 생성 및 가상환경 생성, 실행
mkdir 폴더이름
cd 폴더이름
python -m venv venv(가상환경 폴더 이름)
source venv/scripts/activate
2. django 패키지 설치, requirements.txt 생성
pip install django
pip freeze > requirements.txt
3. sparta 프로젝트 생성
django-admin startproject sparta .
** 프로젝트 이름 뒤에 공백+'.' 넣어야 현재 경로에 설치된다 안그러면 폴더 하나 더 안으로 들어감
4 깃허브 리포지터리 생성 + 연결은 소스트리를 사용
5 .gitignore 파일은 gitignore.io 웹페이지에서 django 검색 후 생성된 파일에 .idea파일 주석 제거 후 사용
6 깃허브에서 브랜치 생성
7
python manage.py startapp user
8 ~ 13 작업 결과물 github push - pull request - merge
주의해야 했던 점
INSTALLED_APPS에 user 추가하기
장고에서 제공하는 user 모델을 상속받기위해 models.py에 AbstractUser를 import 후 클래스에 지정, 핸드폰번호와 주소를 추가로 넣어준다
user - models.py
from django.contrib.auth.models import AbstractUser
class UserModel(AbstractUser):
phone = models.CharField(max_length = 16, default='')
address = models.CharField(max_length=256, default='')
+
settings.py에
AUTH_USER_MODEL = 'user.UserModel'
를 추가해 주어야 한다.
템플릿 디렉토리 수정
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [BASE_DIR / 'templates'], # 이부분!
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
},
},
]
타임어택 테스트 후에 강의를 보니까 templates 폴더 안에 html들을 모두 넣어두면 지정하지 않고도 제대로 작동하던데
나같은 경우엔 user 폴더를 따로 지정해서 그런지 에러가 떠서 DIRS를 지정해주는것으로 해결
덤으로 핸드폰 번호를 정규식으로 판단하는 함수도 집어넣었었는데 로그인 페이지가 제대로 작동되지 않아서 뭐가 문제인가 하나씩 빼보면서 확인하다가 잃어먹었다..
결국 뭐가 문제인가 했더니 첨부된 login.html 안의 아이디 패스워드 input에 id name이 누락되어있던 것이였다 ㅋㅋ;
+
git bash로 가상환경상에서 테스트를 진행했는데, 슈퍼유저를 생성하는 명령어
python manage.py createsuperuser
를 입력했더니
Superuser creation skipped due to not running in a TTY.
You can run `manage.py createsuperuser` in your project to create one manually.
이런 오류가 나온다.
슈퍼유저 생성을 TTY 환경에서 만들 수 없다고? 이건 또 무슨 말이지?
구글링을 통해 TTY가 TeleTYpewriter, 가상 콘솔 환경이란 것을 알았고,
Windows 콘솔과 통신이 가능한 인터페이스를 제공하는 Windows 소프트웨어 패키지 winpty를 앞에 붙여 실행시키는 방법으로 해결
$ winpty python manage.py createsuperuser
참조)
완성된 프로젝트는 github에 제출완료~
https://github.com/didjsrne/django-test
P.S.
아나콘다랑 vscode를 연동하면서 파이썬 기본경로 설정이 뭔가 꼬인거같다.. 아나콘다 설치과정중에 PATH지정으로 일어난 일인것 같은데 골치아프네..