3. Explore the Django Project
settings.py 를 살펴보면 많은 것들이 구현되어있다. 또한 Document의 URL이 주석으로 달려있다.
settings.py에서 모르는게 있다면 CTRL + Click 을 하면 해당 URL로 이동하여 Document를 살펴볼 수 있다.
지금 수정할 부분은 마지막에 TIME_ZONE 을 UTC 대신 Asia/Seoul로 바꿔주자
가상환경 terminal에서
python manage.py runserver
를 입력하면
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
그리고 조금 더 아래쪽에
Starting development server at http://127.0.0.1:8000/
가 뜨게 될 것이다
해당 url로 이동해보면
가 되서 장고가 돌아가고 있음을 알 수 있다.
vscode에는 db.sqlite3가 생성되어 있을 것이다.
이제 migration에 대해 알아보자.
terminal에서
python manage.py migrate
이후
python manage.py runserver
를 입력하면 위에서 뜬
가 뜨지 않고 바로 실행될 것이다.
다시 서버를 끄고
python manage.py createsuperuser
를 통해 계정을 하나 생성하고
http://127.0.0.1:8000/admin
으로 이동해서 로그인을 해보자
페이지가 나올 것이다.
이 때 만약에 vscode에서 db.sqlite3 파일을 삭제하고
(vscode 탐색기에서 삭제해도 폴더엔 남아있을 수 있음, 폴더내에서 삭제됬는지 확인해주세요)
runserver를 하게되면
를 볼 수 있을것이다.
migration은 어떤 변화를 뜻하는 것이다. 장고와 동일하게 데이터베이스를 동기화해주는 작업인 것이다.
또한
http://127.0.0.1:8000/admin 을 하게되면
으로 시작하는 에러페이지를 보게 될 것이다. 또한 다시
python manage.py migrate
이후
python manage.py runserver
를 해도 이전에 생성한 superuser는 사라져있으므로 다시 생성해주어야 한다.
migrate는 결국 ORM에 관련된 작업이고
migration을 생성하는 command는
python manage.py makemigrations
이다. 추후에 작업하면서 보게될 것이다.
즉 migration을 생성하고
python manage.py migrate
으로 적용해준다고 생각하면 된다.