Django admin.py

Happy_JG·2024년 3월 14일
0

Django

목록 보기
26/32

Django에서 제공하는 강력한 기능 중 하나는 Admin페이지일 것이다. Admin페이지의 목적은 일반적으로 보기 좋은 화면을 만들기 위해 노력하지 않고 서버에 있는 데이터들을 관리자들이 한눈에 파악하기 쉽게 제공하는 것이다.

Django에서 StartApp을 하면 기본적으로

models.py
views.py
urls.py
admin.py (선택적)
apps.py
forms.py (선택적)
test.py (선택적)
migrations 디렉토리

다음과 같은 설정을 할 수 있게 된다. 만약 해당 앱에서 발생하는 데이터와 같이 관리자가 쉽게 접근할 수 있도록 하는 경우에는 admin.py에 코드를 작성해야 한다.

한 마디로 admin.py 파일은 Django의 admin 패널에서 관리자가 데이터베이스 모델을 관리하는 데 사용되는 파일이다.

기본 admin.py는 다음과 같다.

from django.contrib import admin

# Register your models here.

django.contrib.admin

django에서 제공하는 admin에 대해 알아보자. 자세한 문서는 공식문서를 참조하자.

admin.py예시(1)

from django.contrib import admin
from myapp.models import Author

admin.site.register(Author)

from django.contrib import admin은 기본적으로 제공되는 코드이고 Author라는 모델을 admin페이지에서 관리하기 위해 import한 것이다. 그리고 마지막으로 admin.site.register(Author)를 통해 등록을 마쳐야 한다.
보통 마지막에 등록을 하는편이다.

admin.py예시(2)

from django.contrib import admin
from .models import Book

class BookAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'genre', 'published_date')
    list_filter = ('genre', 'published_date')
    search_fields = ('title', 'author')

admin.site.register(Book, BookAdmin)

list_display, list_filter, search_fields

등록된 인자 순으로 Book모델에 접근할 수 있는 admin페이지에 접근할 수 있다.

http://127.0.0.1:8000/admin/Book/BookAdmin/

admin 상속

profile
hello!

0개의 댓글