Python/Django
[Django] 관리자 관련
K.Seungmin
2024. 12. 17. 22:40
서버를 관리할 때 관리자 계정을 생성하곤 하는데 Django는 모델에 대한 관리용 인터페이스를 모두 자동으로 생성해 줍니다.
관리자 생성하기
python manage.py createsuperuser
user 이름 입력
Username: <관리자 이름 입력>
이메일 주소 입력
Email address: <희망 이메일 입력>
암호 입력(2번 입력)
Password: ********
Password: (again): ********
Superuser created successfully.
개발 서버 시작
Django 관리자 사이트는 기본적으로 활성화되어 있습니다. 서버를 동작하고 http://127.0.0.1:8000/admin/ 주소로 접속할 수 있습니다.
python manage.py runserver
이전에 설정해 준 username과 password를 입력하게 되면 아래와 같은 창으로 접속하게 됩니다.
편집 가능한 그룹과 사용자가 보이고 몇 종류의 콘텐츠를 볼 수 있는데 이것들은 django.contrib.auth 모듈에서 제공됩니다. Django에서 제공되는 인증 프레임워크입니다. 그리고 여기에서 poll app이 보이지 않는데 polls/admin.py 파일을 아래와 같이 수정해 주어야 추가할 수 있습니다.
polls/admin.py
from django.contrib import admin
from .models import Question
admin.site.register(Question)
이후 화면
그러면 페이지에 polls 항목이 추가되는 것을 볼 수 있습니다. polls 항목에 들어가 보면 설정해 준 항목들을 볼 수 있고 수정할 수 있습니다. 그리고 각 서식은 Question 모델에서 자동으로 생성되었습니다. 모델의 각 유형들은 (DataTimeField, CharFiedl 등) 적절한 HTML 입력 위젯으로 표현됩니다. 그리고 Hisotry 버튼을 통해서 Django 관리사이트를 통해 누가 언제 무엇을 바꾸었는지 로그를 모두 확인할 수 있습니다.