Django | Admin

김민철·2021년 1월 24일
0
post-thumbnail

장고는 Admin 을 통해서 모델에 대한 데이터를 확인하고 조작할 수 있는 기능을 제공합니다.

관리자 생성

Admin page 를 이용하기 위해서는 먼저 관리자 계정을 만들어야 합니다. 관리자 계정은 manage.py 가 있는 폴더에서

python manage.py createsupersuer

명령어를 통해 생성할 수 있습니다.

앱 등록하기

관리하고 싶은 모델 클래스는 admin.py 에 등록해야 사용할 수 있습니다.

order/admin.py

from django.contrib import admin
from . import models

@admin.register(models.User)
class UserAdmin(admin.ModelAdmin):
		pass

데코레이터를 이용해 ModelAdmin 클래스를 등록해줍니다.

커스터마이징하기

Django 는 admin 을 커스터마이징할 수 있는 기능들을 제공합니다.

몇 가지 살펴보겠습니다.

  • list_display : 목록에서 보여질 필드를 정의
  • list_editable : 목록에서 수정이 가능한 필드를 정의
  • readonly_fields : 읽기 전용 필드, 수정이 불가능한 필드를 정의
  • fields : 모델 인스턴스에서 보여줄 필드를 정의

적용 예시

from django.contrib import admin
from . import models

@admin.register(models.User)
class UserAdmin(admin.ModelAdmin):
    list_display = (
        'name',
        'phone',
        'point'
    )
    list_editable = (
        'phone',
        'point'
    )
    readonly_fields = ['name']
    fields = (
        'name',
        'phone',
        'point'
    )


(목록에서 보이는 화면)

(모델 인스턴스에서 보이는 화면)

(데이터 변경 후, 성공메세지)

(db에 바로 적용된 화면)

마무리

장고는 admin 을 통해서 모델의 데이터를 쉽게 관리하게 해줍니다. 다음 admin 관련 글에는 User 데이터를 수정함으로써 다른 모델의 데이터가 수정될 수 있는 방법에 대해서 올려보겠습니다.

0개의 댓글