Django 사용자 정의 사용자 모델
from django.contrib.auth.models import AbstractUser
# Create your models here.
class UserProfile(AbstractUser):
''' Django User '''
user_name = models.CharField(max_length=200)
user_weburl = models.CharField(max_length=200, default = "www.loveu888.com")
2、settings에서.py 파일 끝에 내용을 추가하고 시스템의user모델을 사용자 정의 UserProfile 모델로 대체합니다
# user
AUTH_USER_MODEL = 'admin_web.UserProfile' //admin_web app
3. 자신의 앱에 있는admin.py 파일에 자신의 UserProfile 모델 등록
from admin_web.models import UserProfile
# Register your models here.
admin.site.register(UserProfile)
그러나 이렇게 하면 문제가 하나 있다. 백엔드 관리 시스템, 사용자 모델에 사용자를 추가한 후에 비밀번호가 명문인 것을 발견하면 새로 만든 사용자에 로그인할 수 없다. 어떻게 해결합니까?내려다보다그럼 앱에 있는 관리자.py 파일에 이렇게 써야 돼요.
from admin_web.models import UserProfile
from django.contrib.auth.admin import UserAdmin
from django.utils.translation import gettext_lazy
# Register your models here.
class UserProfileAdmin(UserAdmin):
list_display = ('username','last_login','is_superuser','is_staff','is_active','date_joined')
fieldsets = (
(None,{'fields':('username','password','first_name','last_name','email','user_phone')}),
# (gettext_lazy('User Information'),{'fields':('user','birthday','gender','mobile')}),
# (gettext_lazy('Permissions'), {'fields': ('is_superuser','is_staff','is_active',
# 'groups', 'user_permissions')}),
# (gettext_lazy('Important dates'), {'fields': ('last_login', 'date_joined')}),
)
admin.site.register(UserProfile, UserProfileAdmin)
계승 시스템 UserAdmin의 UserProfileAdmin 클래스를 정의합니다. 이 클래스에서 우리의 요구에 따라 사용자 모델의 필드를 설정할 수 있습니다. 5. 마지막으로 데이터베이스를 이동합니다.
python manage.py makemigrations
python manage.py migrate
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.