Django 튜토리얼 파트7
-
관리자 폼 커스터마이징
admin 에 객체 등록할 때 Django에 원하는 옵션을 알려주면 커스터마이징 가능
-
admin.site.register()
모델 관리자 옵션 변경할 때 마다 모델 어드민 클래스 만든 뒤 두번째 인수로 전달
-
fieldsets
폼 분할
튜플 첫 번째 요소는 제목
-
-
관련된 객체 추가
admin에 직접 추가할 수 있지만 model 끼리의 관계가 직관적이지 않음
Django는 ForeignKey 가 select로 표현된다는 것 인지
register() 호출 제거후 admin에서 class 생성 및 관계 설명
-
TabularInline
관련된 객체는 좀 더 조밀하고 테이블 기반 형식으로 표시됨
-
-
관리자 변경 목록 커스터마이징
-
어드민 페이지
자동으로 페이징 기능 제공
변경 목록 페이지네이션, 검색 상자, 필터, 날짜-계층구조, 컬럼-헤더-정렬 모두 함께 작동
-
list_display
어드민 옵션
개별 필드 표시 기능
models 에 속성 부여하여 임의의 메서드도 정렬 지원
-
list_filter
어드민 옵션
필터 기능
-
search_fields
어드민 옵션
검색 기능
-
-
관리자 룩앤필 커스터 마이징
-
순서
-
프로젝트 디렉토리에 templates 디렉토리
-
setting.py 에서 DIR 옵션에 추가
-
Django 소스파일 가져온 후 커스터마이징
-
-
템플릿 구성
하나의 커다란 템플릿 디렉토리에 모든 템플릿 함께 넣을 수 있지만 재사용하기 좋지 않음
-
템플릿 재정의 방법
실제 프로젝트에서는 django.contrib.admin.AdminSite 속성 이용하는 것이 개별 커스터마이징에 유리
-
-
어플리케이션의 템플릿 사용자 정의
DIRS가 기본설정으로 비어있을 시 APP_DIRS 설정이 True 이므로 Django는 각 앱 패키지 내에서 templates/ 서브 디렉토리를 자동으로 찾아서 대체
django.contrib.admin도 앱
admin 탬플릿 좀 더 정교하게 수정할 경우 프로젝트 템플릿 대신 어플리케이션 템플릿 수정이 더 현명하며 다른 새 프로젝트에 포함시킬 수 있음.
-
admin 인덱스 페이지 수정
admin 어플리케이션과 함께 등록된 INSTALLED_APPS 의 모든 앱 사전순으로 표시.
커스터마이징 할 템플릿은 admin/index.html.
-
app_list
템플릿 변수
설치된 모든 장고 앱을 포함
-