오늘은 Django에서 관리자 창 생성 및 사용을 해보았다.
- 관리자 생성하기
- 관리자 사이트에 poll 앱 추가하기
- 관리 기능 탐색하기
장고에서의 관리자 창은 자동 생성이 된다. 따라서 사용자를 추가해주면 사이트 관리자는 이곳에서 컨텐츠 수정을 할 수 있다.
관리자 창에 로그인하기에 앞서 로그인 할 수 있는 사용자를 생성해보자.
> python manage.py createsuperuser
이렇게 입력하면 사용자 이름, 이메일, 비밀번호를 입력하라고 나오고 자신이 사용할 사용자 이름 및 기타 정보를 입력해주면 된다.
서버를 구동하고 방금 생성한 사용자 이름, 비밀번호를 입력하면 관리자 창에 로그인할 수 있다.
처음 관리자 창에 들어가면 Groups, Users 처럼 편집할 수 있는 목록이 뜬다. 이외에 우리가 polls 앱을 추가해주면 관리자 창에서 polls 앱에 대한 모델을 편집할 수 있다.
polls/admin.py 에 다음과 같이 Question을 등록해보자.
from django.contrib import admin
from .models import Question
admin.site.register(Question)
저장하고 새로고침해보면 polls 앱이 추가되어 있고 이전에 작성한 "What's up?" 이라는 항목이 보일 것이다. 이 항목에 들어가면 Question text, Published date 를 수정할 수 있다.
자동으로 생성된 관리자 창은 각 필드의 속성들도 모두 파악하고 있어, CharField인 경우엔 텍스트 박스가, DateTimeField엔 날짜 형식의 적절한 위젯으로 나온다.
이곳에서 now 또는 임의의 날짜를 입력하여 수정을 할 수 있다. 수정을 한 후 저장을 하고나서는 상단의 history 에서 방금 수정한 로그를 볼 수 있다.
날짜와 시간을 수정해 준 뒤 파이썬 쉘에서 확인해보니 방금 입력한 대로 데이터가 바뀐 것을 확인할 수 있다.
나는 추가로 Choice도 관리자 창에 등록해주었고 아까 했던 대로 Choice의 필드들도 관리자 창에서 조회할 수 있었다.
오늘은 이렇게 관리자 창을 사용해보았다.
내가 추가한 데이터 모델들을 관리자 창에서 확인할 수 있다는 게 일단 신기했고, 무엇보다 관리자 창이 자동 생성된다는 게 너무 흥미로웠다!!! 이런 똑똑한 장고 녀석 같으니라구 ㅎ
튜토리얼 진행이 꽤 길어졌는데 이번주엔 장고 튜토리얼을 다 끝낼 수 있도록 해야겠다.
다음에도 빠샤!!!!🔥