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 관리사이트를 통해 누가 언제 무엇을 바꾸었는지 로그를 모두 확인할 수 있습니다.