티스토리 뷰
기본적으로 장고에는 Users 가 들어있다.
문제는 이 Admin 사이트는 전체 서버와 DB에 관련된 Admin 사이트이다. 즉 보통 유저가 이 페이지에는 access하지 못하게 해야 한다. 따라서 사용자들이 접근할 수 있는 구분된 user info를 다루는 admin사이트가 필요하다. 따라서 지금부터는 user app을 작성해볼 것이다.
우선 우리가 생성한 users 앱에 urls.py를 추가하자.
장고가 만들어준 폴더나 파일이름은 바꾸면 안되지만 추가하는 것은 가능하다.
https://docs.djangoproject.com/en/2.2/topics/auth/customizing/
Customizing authentication in Django | Django documentation | Django
Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate
docs.djangoproject.com
에서 어떻게 모델을 custom하는지 알 수 있다.
그리고 settings.py에서 우리가 만든 앱을
추가해 주어야 한다.
와 같이 설정해주고 우리가 생성한 users.apps 에 UsersConfig라는 Class가 있기때문에 위와 같이 세팅해주면 된다.
우선 models.py에서는
우리가 admin에서 볼 수 있었던 회원 info 관리하는 창을 상속받도록 작성해두자.
settings.py에는 (우리가 생성한 users 앱의 모델이름이 User임, 위의 Document에 어떻게 하는지 나와있음)
AUTH_USER_MODEL = 'users.User'
를 추가해주자.
이 상태에서 python manage.py runserver를 실행하게되면
와 같은 에러를 보게 될 것이다.
앞서 보았던 migration을 생성하고 migrate해주어야 한다.
python manage.py makemigrations
를 실행하게 되면
가 나올 것이다.
migrations 폴더에 파일이 생성된 것을 알 수 있다.
python manage.py migrate
이후
python manage.py createsuperuser
를 통해 계정을 하나 생성하고
python manage.py runserver
를 실행하자.
(migrate이 안될 수도 있는데 이때는 db.sqlite3를 삭제한 후 다시 migrate을 실행시켜주자)
이 때 사이트에 들어가보게 되면
Users가 사라져있다. default admin이 사라져서 그런 것이다. admin.py 에서 아래와 같이 코드를 작성하면
아래처럼 USERS 항목이 나타나게 된다.
다음 글에 model.py를 수정해보겠다.
'Web Development > Django' 카테고리의 다른 글
6. User Application 2 (0) | 2020.01.11 |
---|---|
4. Django Application (0) | 2020.01.10 |
3. Explore the Django Project (0) | 2020.01.10 |
2. Create Project (0) | 2020.01.10 |
1. SetUp (0) | 2019.12.27 |