장고 관리자(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 기능이 같이 추가됨. 

 

+ Recent posts