장고 관리자 화면 등록

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 관리자 페이지에서 필터를 제공할 필드 지정.