장고 관리자(admin)
장고가 기본적으로 지원해주는 매우 편리한 기능이다.
슈퍼유저(superuser)
장고 관리자를 사용하기 위해, python manage.py createsuperuser를 명령해 장고 관리자 화면에 접속 가능한 슈퍼유저를 먼저 생성
(yoursite) C:\projects\yoursite>python manage.py createsuperuser
Username (leave blank to use 'pc'): admin
Email address: admin@yoursite.com
Password:
Password (again):
This password is too common.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
Password line 은 입력해도 보안을 위해 ****와 같이, 블랭크로 표시된다.
나는 국방부의 슈퍼유저패스워드를 패스워드로 사용했다.
장고 관리자 화면
python manage.py runserver를 명령 해 서버를 구동시키고, 웹 브라우저로 http://localhost:8000/admin/ 에 접속.
모델 관리
관리자에 Question, Answer 모델을 등록해보자
[파일명 : C:\projects\yoursite\pybo\admin.py] #라인 삽입
from django.contrib import admin
#from .models import Question, Answer
#admin.site.register(Question)
#admin.site.register(Answer)
관리자 페이지에서 모델을 사용할 수 있게 되었다.
관리자 검색 기능 추가
관리자 화면에서 제목(subject)으로 질문 검색 기능을 추가해보자.
[파일명: C:\projects\yoursite\pybo\admin.py] #수정
from django.contrib import admin
from .models import Question, Answer
#class QuestionAdmin(admin.ModelAdmin):
#search_fields = ['subject']
admin.site.register(Question#, QuestionAdmin)
admin.site.register(Answer)
관리자에서 Question 제목 검색 기능을 구현시킬 QuestionAdmin 클래스 생성.
(admin.Modeladmin) 객체를 입력하면 해당 클래스는 기본으로 제공되는 기능이 아니라, 커스텀마이징 할 수 있음.
search_fields 속성에 subject 추가.
admin.site.register(Question)에 QuestionAdmin 객체를 전달하여 관리자 Questions 에 Question 과 QuestionAdmin 기능이 같이 추가됨.
'Web > django' 카테고리의 다른 글
[python] 6.django(장고) - 기본요소 URL/네임스페이스 (0) | 2022.02.17 |
---|---|
[python] 5.django(장고) - 기본요소 조회/템플릿 (0) | 2022.02.14 |
[python] 3.django(장고) - 기본요소 model (0) | 2022.02.12 |
[python] 2.django(장고) - 기본요소 URL/view (0) | 2022.02.12 |
[python] 1.django(장고) - 프로젝트 준비 (0) | 2022.02.12 |