장고에서는 저번에 언급했듯이 관리자 기능을 제공한다.
이 관리자 기능에서 CRUD기능이 구현 되어있어서
단 코드 몇줄로 테이블을 쉽게 관리 할 수 있게 된다.
CRUD
Create(생성), Read(읽기), Update(갱신), Delete(삭제) 전체를 뜻하는 말이다.
즉, 사용자 인터페이스가 기본적으로 갖춰야 할 것들을 의미한다.
관리자 계정 페이지를 수정해야 되니까 admin.py 파일에서 수정한다.
파일에서 클래스를 불러와야 하기때문에 같은 폴더에 있는 models에서 Boards를 import 해준다.
board > admin.py
from django.contrib import admin
from .models import Boards
admin.site.register(Boards)
# Register your models here.
그리고 admin.site.register로 테이블을 관리자 계정에 띄울수 있다.
하지만 저렇게만 뜬다면 게시물이 많아졌을때 저게 무슨 게시물인지 모르게 된다.
그래서 데코레이터를 이용해 클래스를 꾸며준다.
board > admin.py
from django.contrib import admin
from .models import Boards
@admin.register(Boards)
class Boardsadmin(admin.ModelAdmin):
list_display = (
'id',
'title',
'Thumbnail',
'view_count',
'created_at',
'updated_at'
)
search_fields = (
'title',
)
list_display_links = (
'id',
'title',
)
list_filter = (
'created_at',
)
Boards를 더 가독성있게 나타내기 위한 클래스 이니 이름은 BoardsAdmin으로 짓고
list_display는 Boards 클래스에서 원하는 값(속성, 애트리뷰트)을 관리자 계정에 띄어주게 해준다.
search_fields는 검색 기능을 만드는 것인데, 원하는 값을 넣으면 그 값으로 검색이 가능해진다.
list_display_links는 수정 탭으로 가는 링크를 원하는 값에다가 설정 할 수 있다.(기본적으로 id에 링크 되어있다.)
list_filter는 원하는 값으로 필터링 할 수 있다.
이제 id나 title에 걸려있는 링크로 가면 그 값을 수정 할 수 있게 된다.
'Python > Python_Django' 카테고리의 다른 글
[Python_Django] 각 앱에서 urlpatterns 관리하기 (0) | 2020.04.25 |
---|---|
[Pytho_Django] HTML을 이용한 메인 탭 만들기 (1) | 2020.02.03 |
[Python_Django] 관리자 계정 만들기 및 ORM 사용하기 (3) | 2020.01.31 |
[Python_Django] 앱 만들기 및 DB 테이블 만들고 확인하기 (0) | 2020.01.31 |