프로젝트 뼈대 잡기
django-admin.py startproject mysite
서버 실행하기
cd mysite
./manage.py runserver
앱 시작하기
./manage.py startapp polls
모델 변경
- polls 디렉터리의 models.py를 수정
- 최초 작성 시에는 settings.py를 편집하여 INSTALLED_APPS에 ‘polls’ 추가
모델이 변경되었을 때 이전을 준비하는 작업
./manage.py makemigrations polls
Django에게 모델에 변경이 발생했다는 사실을 알림
변경 사항을 DB에 반영하기 위해 필요한 계획을 SQL문장으로 출력
./manage.py sqlmigrate polls 0001
0001은 버전
변경을 적용
./manage.py migrate
Troubleshooting
admin.py에서 모듈 import할 때 에러가 발생하면
File "/Users/terzeron/mysite/polls/admin.py", line 2, in from django.models import Choice
from django.models에서 django를 app 이름(polls)로 변경하면 됨
한글 인코딩 깨지는 문제
우선 python 버전이 2.x면 모델 정의에 __unicode__로, 3.x면 __str__로 메소드가 정의되어 있는지 확인하고, 그 함수 내부에서 한글을 포함한 필드가 출력에 사용되었다며 unicode()로 wrap할 것