본문 바로가기
  • 기억보단 기록을..
Python/Django

[Django] Admin page 수정하기 (1)

by reine94._.dev 2021. 1. 16.

Admin

기본 User를 Custom유저로 바꾸고 입력폼바꾸는법


이거 찾으려고 삽질 하루동안해서 기록해둔다....

  • 현상황
    • Django User를 커스텀해서 email로 로그인하게 만들어놓음
    • admin페이지에서 사용자추가하려고 하니까 email 이 안나오고 username을 기입하라고함 ㅡㅡ
    • 해결책 찾아서 지금 포스팅으로 남기는중

 

  • UserAdmin 상속받아서 CustomUserAdmin 클래스를 만드는중
    • fieldsets 
      • admin페이지에서 유저 수정할때 나타나는 입력폼 무엇으로 할건지
    • add_fieldsets
      • admin페이지에서 유저 추가할때 나타나는 입력폼 무엇으로 할건지
      • 이거 찾으려고 하루고생함;;
# accounts/admin.py

from django.contrib.auth.admin import UserAdmin
from django.contrib import admin

from .models import User
from .forms import CustomUserCreationForm, CustomUserChangeForm


# Ovver riding
class CustomUserAdmin(UserAdmin):
    form = CustomUserChangeForm
    add_form = CustomUserCreationForm    

    list_display = ('email', 'username', 'is_staff', 'date_joined')
    list_filter = ('is_staff', 'is_superuser', 'is_active', 'groups', 'date_joined')
    search_fields = ('email','username', )
    ordering = ('-date_joined',)

    # admin 페이지에서 사용자 수정할때 입력폼
    fieldsets = (
        ('test', {'fields': ('email', 'password')}),
        ('Personal info', {'fields': ('username',)}),
    )

    # admin 페이지에서 사용자 추가할때 입력폼
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'username', 'password1', 'password2')
            }
        ),
    )




admin.site.register(User, CustomUserAdmin)

 

django admin페이지에서 사용자 추가화면

 

admin페이지에서 사용자 수정화면

 


[참고 포스팅]

nadure.tistory.com/13

 

Django Custom User 일지

이거.. 잊어먹기 쉬울것 같아서 미리 정리하려 한다. Custom User를 사용하기 위해선 기존 유저모델을 수정 수정한 모델을 Auth 모델로 쓸 것임을 설정파일에 저장. 해야한다. 말로는 간단해보인다..

nadure.tistory.com

 

댓글