바뀜

2,222 바이트 추가됨 ,  2021년 11월 4일 (목) 14:05
새 문서: == 개요 == 만들어진 모델을 관리자 화면에서 보고 관리하기 위해선 모델을 관리자 화면에 등록해주어야 한다. === 방법 === 앱 내의 admin.py...
== 개요 ==
만들어진 모델을 관리자 화면에서 보고 관리하기 위해선 모델을 관리자 화면에 등록해주어야 한다.

=== 방법 ===
앱 내의 admin.py 안에 원하는 모델을 import하여 가져와 진행한다.

== 모델 등록 방법 ==
앱 안의 admin.py를 다음과 같이 작성한다. 크게 3가지 방법으로 나뉜다.
{| class="wikitable"
!등록법
!설명
!코드
|-
|기본 ModelAdmin으로 등록
|기본 모델로 등록한다.(세부사항 수정 불가)
|<syntaxhighlight lang="python">
from django.contrib import admin
from blog.models import Post # 불러올 모델.

admin.site.register(Post)

</syntaxhighlight>
|-
|상속으로 커스터마이징
|admin.ModelAdmin 클래스를 상속받은 후 커스터마이징이 가능하다.
예시에선 list_display만 사용했지만, 더 많은 조작이 가능하다.
|<syntaxhighlight lang="python">
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) # 모델명과 클래스명을 이용해 등록
</syntaxhighlight>
|-
|데코레이터로 등록
|데코레이터와 상속을 이용하여 등록한다.
|<syntaxhighlight lang="python">
from django.contrib import admin
from blog.models import Post

@admin.register(Post) # 등록할 모델 지정
class PostAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'content'] # 커스터마이징.
</syntaxhighlight>
|}

== admin.ModelAdmin 클래스 속성 ==
{| class="wikitable"
!등록법
!설명
|-
|list_display
|관리자 화면에서 보여질 필드 목록. 튜플이나 리스트로 지정한다.
|-
|list_display_links
|필드목록 중 링크로 지정할 필드 목록.(클릭하면 해당 모델 세부화면으로 이동한다.) 튜플이나 리스트로 지정한다.
|-
|list_editable
|관리자 화면에서 바로 수정 가능하게끔 할 목록. 튜플이나 리스트로 지정한다.
|-
|list_per_page
|관리자 페이지에서 보여질 객체 갯수.
|-
|list_filter
|관리자 페이지에서 필터를 제공할 필드 지정.
|}
[[분류:3-2 장고 어드민]]