# admin.py
from django.contrib import admin
from .models import Paper
admin.site.register(Paper)
두번째 방법
데코데이터를 이용하여 admin페이지에 등록한다.
# admin.py
from django.contrib import admin
from .models import Paper
@admin.register(Paper)
class PaperAdmin(admin.ModelAdmin):
...
기능 추가하기
list_display
기본적으로는 하나의 오브젝트에 하나의 값만 나타낸다.
하나의 오브젝트에 여러 값을 표시하기 위해서 list_display를 사용한다.
# admin.py
from django.contrib import admin
from .models import Paper
@admin.register(Paper)
class PaperAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'author']
한 줄에 id, title 과 author이 나타나도록 한다.
list_display_links
admin site에서 세부 항목으로 들어가는 link를 임의로 설정 할 수 있다.
link를 설정하지 않을 경우 맨 앞에 자동으로 link가 달린다.
# admin.py
from django.contrib import admin
from .models import Paper
@admin.register(Paper)
class PaperAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'author']
list_display_links = ['title']
title에 link를 설정해 주었다.
list_filter
admin site 오른쪽에 있는 UI를 통해서 원하는 값만 filtering 할 수 있다.
# admin.py
from django.contrib import admin
from .models import Paper
@admin.register(Paper)
class PaperAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'author']
list_display_links = ['title']
list_filter = ['author']
author를 기준으로 filtering 했다.
search_fields
admin site에서 검색UI를 이용하여 원하는 데이터를 검색 할 수 있다.
# admin.py
from django.contrib import admin
from .models import Paper
@admin.register(Paper)
class PaperAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'author']
list_display_links = ['title']
list_filter = ['author']
search_fields = ['title']