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.一定要把 "職員狀態" 勾選上,如果這里沒有展示,就要在新建成功后進入修改頁面修改成狀態,不修改的的話就登錄不了后台管理(我都找了好久的方法才明白)

