프로그래밍/Python

Python 공부 노트 10. - Django에서 Admin 화면 만들기

Terry Cho 2013. 1. 23. 23:48

Admin 메뉴 추가 하기

setting.py에서

- admin 항목 uncomment 처리. INSTALLED_APPS에서 admin 모듈을 uncomment 처리하면됨

- 다음으로 manage.py에서 syncdb 처리 (app이 새로 등록되었으니 데이타 베이스 테이블 생성)


urls.py에서 

- admin url을 오픈해주기 위해서 admin 기능 관련 코드 uncomment 처리


그후 django 서버 기동하고 http://xxxx//admin 으로 로그인 하면됨.

로그인시 id/passwd는 처음에 manage.py syncdb 할때 넣었던 값으로 함.

이 admin 화면에서는 사용자 관리, 그룹 관리, 권한 관리등의 기본적인 기능들을 제공한다.


Admin 메뉴에 App admin 기능 추가 하기

django는 기본적으로 admin 기능을 제공하는데, 이 admin 기능에서는 해당 app의 model을 기반으로 UI를 자동 생성해준다.

예를 들어 poll(설문조사) 애플리케이션에서 Poll Model Class를 생성 관리할 수 있는 UI를 자동으로 만들어준다.

- ${app}디렉토리 아래 admin.py를 만들고

- 안에 다음과 같이 admin에 해당 Model 객체를 등록해주면 된다.


from polls.models import Poll

from django.contrib import admin


admin.site.register(Poll)


그러면 해당 Model 객체의 생성자 필드를 채울 수 있는 UI가 자동으로 생성된다.

그 밖에, 해당 Model의 값을 List 형식으로 출력될때 필드를 정하거나, Filtering등의 기능을 정의할 수 있고, Model의 attribute 뿐만 아니라, Model에서 사용자가 구현한 method의 결과값을 출력하게 할 수 도 있다.






※ 주로 모델 객체의 값에 대한 CRUD 기능을 위주로, Admin 기능을 구성할 수 있게 되어 있다.


그리드형