Django后台Admin繼承UserAdmin增加用戶不顯示明文方法
1.在 models.py 中用戶表
# 導包規范-1.Python標准模塊 from django.db import models from django.contrib.auth.models import AbstractUser # AbstractUser繼承原用django中的用戶原有字段再擴展 # 導包規范-2.第三方模塊 # 導包規范-3.自定義模塊 # 002-用戶信息表 class UserProfile(AbstractUser, BaseModel): 手機號碼 = models.CharField(max_length=11, blank=True, null=True) # unique=True,先去出xadmin中注冊不出錯 部門名稱 = models.ForeignKey('Department', blank=True, null=True, on_delete=models.DO_NOTHING) class Meta: verbose_name = '用戶信息' verbose_name_plural = verbose_name def __str__(self): # 必需有值的字段,當前對象的描寫 return self.username # 返回此對象的用戶名username
2.在 admin.py 中注冊表
# 導包規范-1.Python django標准模塊 from django.contrib import admin from django.contrib.auth.admin import UserAdmin from django.utils.translation import gettext_lazy # 導包規范-2.第三方模塊 # 導包規范-3.自定義模塊 from APPS.A001jcxx.models import UserProfile # 自已 models 的位置 @admin.register(UserProfile) class UserProfileAdmin(UserAdmin): list_display = ['username', 'password', 'is_staff'] # 展示頁面顯示字段設置 list_per_page = 10 # 展示頁面展示的條 # 增加用戶時密碼為密文 add_fieldsets = ( (None, {u'fields': ('username', 'password1', 'password2')}), # 增加頁面顯示字段設置 (gettext_lazy('User Information'), {'fields': ('is_superuser', '手機號碼', '部門名稱', 'is_staff')}),)
3.同步數據庫,創建超級用戶,用超級用戶登錄
4.進入"用戶信息" 增加新的用戶
5.一定要把 "職員狀態" 勾選上,如果這里沒有展示,就要在新建成功后進入修改頁面修改成狀態,不修改的的話就登錄不了后台管理(我都找了好久的方法才明白)