Django : 장고 서버 실행하기
우선 poetry shell 명령어를 통해 가상 환경에 진입한다.
- manage.py는 terminal에 입력받은 장고 명령어 관련 기능을 실행하는 파일. (실제 서버에 배포할 때는 다른 파일 사용.)
- localhost의 8000번 포트에 장고 개발 서버가 시작된다.
- You have 18 unapplied~(오류) : DB의 상태를 변경할 수 있는 18개의 migration 파일이 적용되지 않아서 생긴 오류이다.
- Migration : Django에서 모델에 적용한 변경 사항(필드 추가, 모델 삭제 등)을 데이터베이스 스키마에 전파하는 방식이다.
(문서 : https://docs.djangoproject.com/en/5.1/topics/migrations/)
- "http://127.0.0.1:8000/"로 접속하면, 다음과 같이 django 페이지가 성공적으로 열린 것을 확인할 수 있다.
- "http://127.0.0.1:8000/admin"에 접속하면, django가 django_session table을 찾을 수 없다고 웹사이트에 표시된다. 찾는 이유는 admin 패널을 작동하기 위해서는 admin 유저가 필요하고 admin 유저가 작동하기 위해서는 session이 필요하고 이러한 모든 기능은 Django에 이미 내장되어있다. 그래서 django_session table을 찾는 것이다. 이는 migration 적용을 통해 해결 가능하다.
이 DB 파일은 "python manage.py runserver"(장고 서버 시작) 시 생성된다.
- "python manage.py migrate" 명령어를 통해 18개의 migration 파일을 적용한다.
- migration을 적용하면 데이터베이스가 변형하게되고 Django는 작업에 필요한 테이블 모두를 갖게 된다.
- 기존에는 아무것도 없던 DB 파일에 binary 또는 text 데이터가 추가되었다.
- 기존에 있던, migration 오류가 사라졌다.
- 기존과 다른 admin 패널이 생성되었다. 엄청나다.