티스토리 뷰

Web Development/Django

5. User Application 1

tongnamuu 2020. 1. 11. 00:26

기본적으로 장고에는 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함