장고 관리자 화면 등록
1 개요편집
만들어진 모델을 관리자 화면에서 보고 관리하기 위해선 모델을 관리자 화면에 등록해주어야 한다.
1.1 방법편집
앱 내의 admin.py 안에 원하는 모델을 import하여 가져와 진행한다.
2 모델 등록 방법편집
앱 안의 admin.py를 다음과 같이 작성한다. 크게 3가지 방법으로 나뉜다.
등록법 | 설명 | 코드 |
---|---|---|
기본 ModelAdmin으로 등록 | 기본 모델로 등록한다.(세부사항 수정 불가) | from django.contrib import admin
from blog.models import Post # 불러올 모델.
admin.site.register(Post)
|
상속으로 커스터마이징 | admin.ModelAdmin 클래스를 상속받은 후 커스터마이징이 가능하다.
예시에선 list_display만 사용했지만, 더 많은 조작이 가능하다. |
from django.contrib import admin
from blog.models import Post
class PostAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'created_at', 'updated_at' ] # 나타낼 칼럼
admin.site.register(Post, PostAdmin) # 모델명과 클래스명을 이용해 등록
|
데코레이터로 등록 | 데코레이터와 상속을 이용하여 등록한다. | from django.contrib import admin
from blog.models import Post
@admin.register(Post) # 등록할 모델 지정
class PostAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'content'] # 커스터마이징.
|
3 admin.ModelAdmin 클래스 속성편집
등록법 | 설명 |
---|---|
list_display | 관리자 화면에서 보여질 필드 목록. 튜플이나 리스트로 지정한다. |
list_display_links | 필드목록 중 링크로 지정할 필드 목록.(클릭하면 해당 모델 세부화면으로 이동한다.) 튜플이나 리스트로 지정한다. |
list_editable | 관리자 화면에서 바로 수정 가능하게끔 할 목록. 튜플이나 리스트로 지정한다. |
list_per_page | 관리자 페이지에서 보여질 객체 갯수. |
list_filter | 관리자 페이지에서 필터를 제공할 필드 지정. |