python manage.py createsuperuser로 아이디와 패스워드를 만들려고 하는데 이런 오류가 뜬다.
구글링을 통해 찾아보니 말 그대로 DB에 테이블이 없어서 나타나는 문제점이라고 한다.
1. python manage.py makemigrations
2. python manage.py migrate
이 두가지 명령어를 순서대로 실행시켜서 migrate를 해주고 나서 다시 createsuperuser하면 된다.
장고 프로젝트를 새로 시작했을 때 기본적으로 세팅이 되어있는 모델들이 있는데 이 모델들도 맨 처음에는 migration을 해주어야한다.
python manage.py makemigrations명령어는 모델에 변화가 있거나 모델을 새로 생성했을 경우 변경사항을 업데이트해주는 명령어다. DB모델에 변화가 있다면 이 명령어를 실행시킨 후 migrate를 해주어야 한다.
나는 fc_user라는 앱에 새로운 모델을 정의해주었기에 fc_user\migrations\0001_initial.py라는 새로운 파일이 생기고 변화된 migration정보가 등록이 되었다.
이제 마지막으로 python manage.py migrates명령어는 makemigrations를 통해서 만든 모델변경사항을 실제로 적용시킨다. 즉 나의 경우엔 테이블이 새로 생성이 된다.
프로젝트를 만들고 처음 migrate를 해서 장고의 기본세팅인 admin, auth, contenttypes, sessions테이블이 생성되고 또 아까 내가 fc_user라는 앱에 생성했던 모델도 반영이 된 것을 확인할 수 있다.
이제 python manage.py createsuperuser를 통해서 admin페이지에서 사용할 superuser를 만들면 된다!
연습용으로 만들고 있는 앱이라 패스워드를 짧게 만들었더니 길게 만들라고 뭐라한다...
그냥 만들겠다고 하니 만들어주긴 한다 ㅎㅎ
'파이썬 python > django' 카테고리의 다른 글
[django] User모델 커스터마이징 할 때 오류 (0) | 2022.06.14 |
---|---|
[django] ImageField Form 이미지 업로드하기. (0) | 2022.06.10 |
[django] 프로젝트 배포 시 sqlite3 버전 오류 (0) | 2022.05.02 |
[django] django.db.utils.OperationalError: table already exist (0) | 2022.04.26 |
[django] 명령어 정리 (0) | 2022.03.22 |