ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django 초간단 게시판 6. admin.py 업그레이드
    Python/초간단 장고 Django 2021. 5. 28. 11:41
    반응형

    일단 서버가 돌아가는 상황이니
    커스텀, 리펙토링 등의 욕구가 생길 것이다. 

    '초간단 게시판'답게 약간의 노력으로
    큰 효과가 보이는 admin 페이지를 만져 보자. 

    # board/admin.py
    
    from django.contrib import admin
    
    from .models import Article
    
    
    class ArticleAdmin(admin.ModelAdmin):
        list_display = ('id', 'title', 'author', 'content', 'created_at', 'modified_at')
        list_display_links = ('id', 'title', 'author')
        search_fields = ('title', 'author', 'content')
        readonly_fields = ('created_at', 'modified_at')
        list_filter = ('author', 'created_at', 'modified_at')
        # list_editable = ('title', 'author')
        # ordering = ('author', '-modified_at')
        # list_per_page = 30
    
    
    admin.site.register(Article, ArticleAdmin)
    

    ArticleAdmin 클래스를 만들어서
    다음 위치에 추가하면 된다. 
    admin.site.register(Article, ArticleAdmin)

    list_display는 리스트에서 볼 필드들이다.
    모델에서 해당 필드들을 가져오면 된다.

    list_display_links는
    리스트의 첫 번째 필드만
    클릭할 수 있는 링크가 제공되는데,
    id 같은 것을 첫 번째로 설정해 두면
    클릭하기 불편하다.
    이럴 때 사용하면 된다. 

    search 기능도 무척 강력하다. 
    검색을 원하는 필드를
    search_fields 안에 넣어두면 끝이다.  

    list_editable는 리스트 화면에서
    바로 필드를 에디팅할 수 있는 기능이다. 
    list_display_links 와 겹치면 안된다. 

    list_filter는 해당 값의 범위에 해당되는
    게시물을 선택해 보는 기능이다. 

    readonly_fields는 readonly 항목은 
    관리자 화면의 detail 화면에서도 보이지 않는데
    보고 싶은 항목을 넣어두면 볼 수 있다. 

    ordering을 정렬 기능
    관리자 창에서 filed명을 클릭해서
    바로바로 정렬할 수도 있기 때문에....  

    반응형
Designed by Tistory.