admin 커스텀
사용자 추가, 변경에 사용할 폼을 별도로 만들어 설정해 줄 수도 있다.
(app-admin.py)
from django import forms
from django.contrib import admin
from django.contrib.auth.models import Group
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.forms import ReadOnlyPasswordHashField
from django.core.exceptions import ValidationError
from user.models import Users
# admin 페이지
class UserAdmin(BaseUserAdmin):
# 아래처럼 사용자 추가, 변경에 사용할 폼을 지정 가능
# form = UserChangeForm
# add_form = UserCreationForm
# admin 리스트에 표시될 필드
list_display = ["id","email", "is_admin"]
list_filter = ["is_admin"]
# admin의 user수정 페이지에서 보여지는 부분
fieldsets = [
(None, {"fields": ["password", "gender", "age", "bio"]}),
("Permissions", {"fields": ["is_admin"]}),
]
# admin의 user생성 페이지에서 보여지는 부분
add_fieldsets = [
(
None,
{
"classes": ["wide"],
"fields": ["email", "password1", "password2", "name", "gender", "age", "bio"],
},
),
]
# 검색 필드
search_fields = ["email"]
ordering = []
filter_horizontal = []
admin.site.register(Users, UserAdmin)
# Group 모델을 등록 해제(사용x)
admin.site.unregister(Group)
JWT 커스텀 공식문서
https://docs.djangoproject.com/en/4.2/topics/auth/customizing/
'Python > Django' 카테고리의 다른 글
[DRF] 08. Payload 커스텀 (0) | 2023.04.26 |
---|---|
[DRF] 07. 유저 API (0) | 2023.04.26 |
[DRF] 06. User / UserManager (0) | 2023.04.24 |
[DRF] 05. 기본 JWT 토큰 (0) | 2023.04.24 |
[DRF] 04.5 Fetch API, CORS 에러 (0) | 2023.04.24 |