- 전체
- Python 일반
- Python 수학
- Python 그래픽
- Python 자료구조
- Python 인공지능
- Python 인터넷
- Python SAGE
- wxPython
- TkInter
- iPython
- wxPython
- pyQT
- Jython
- django
- flask
- blender python scripting
- python for minecraft
- Python 데이터 분석
- Python RPA
- cython
- PyCharm
django [Django] [Python_Django] 관리자 계정에서 테이블 관리하기
2023.05.06 22:45
[Django] [Python_Django] 관리자 계정에서 테이블 관리하기
장고에서는 저번에 언급했듯이 관리자 기능을 제공한다.
이 관리자 기능에서 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 |
|
|
|
|
|
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에 걸려있는 링크로 가면 그 값을 수정 할 수 있게 된다.
[출처] https://ludeno-studying.tistory.com/28
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.