Web Development/Django

3. Explore the Django Project

tongnamuu 2020. 1. 10. 20:51

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

으로 적용해준다고 생각하면 된다.