갈루아의 반서재

Creating an admin user

어드민 사이트에 로그인할 수 있는 관리자 계정을 아래와 생성한다.


(venv)root@seoul:~/mysite# python manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: beingawesome@naver.com
Password:
Password (again):
Superuser created successfully.
(venv)root@seoul:~/mysite#

Start the development server

어드민 페이지는 기본적으로 활성화된다.

http://127.0.0.1:8000/admin/ 과 같은 형식으로 접속한다.

 



Enter the admin site

앞에서 생성한 계정 정보로 로그인한다.


Groups, Users 등은 편집이 가능하며, 해당 기능은 

아래 django.contrib.auth 에 의해 구현된다.



/root/mysite/mysite/settings.py




Make the poll app modifiable in the admin

Question 오브젝트가 어드민 인터페이스를 갖춰다는 것을 알려줄 필요가 있다.

polls/admin.py 파일을 열어 다음과 같이 편집한다.


polls/admin.py

from django.contrib import admin
from .models import Question

admin.site.register(Question) 

Explore the free admin functionality

어드민 페이지를 다시 로딩해보면, 다음과 같이 "Questions" 항목을 편집할 수 있게 되었음을 알 수 있다.



"Questions" 을 클릭하면 다음과 같이 “change list” 페이지가 나온다. 이 페이지에는 현재 데이터베이스내에 존재하는 모든 질문이 표시된다.



그러면 여기서 “What’s up?” 질문을 클릭해보자.



• 폼은 Question 모델에서 자동으로 생성됨

• DateTimeField 과 CharField 등 서로 다른 필드 타입은 타입에 적절한 HTML 입력 위젯에 대응한다.

• Date 필드는 “Today” 와 캘린더 팝업을, 그리고 time 필드는 “Now” 등 손쉽게 입력이 가능한 바로가기를 가진다.

• Save – 변경사항 저장 및 change-list 페이지로 이동

• Save and continue editing – 변경사항 저장 및 해당 오브젝트 편집페이지 리로딩
• Save and add another – 변경사항 저장 및 새 오브젝트 추가페이지 로딩

• Delete – 삭제 확인 페이지 호출



Customize the admin form

아래와 같이 입력 폼의 커스터마이징도 가능하다.

입력 필드의 순서가 변경된 것을 알 수 있다.





예제는 2개의 입력 필드 밖에 없어 변경된 모습을 봐도 감흥이 없을 수 있지만, 입력 필드가 수십개라면 유용하게 활용가능한 대목이기도 하다.


아래는 필드 영역을 서로 구분하는 방법이다.



마지막으로 장고는 아래처럼 "collapse" 클래스를 제공한다.