Django后台Admin继承UserAdmin增加用户不显示明文方法

Posted djtang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django后台Admin继承UserAdmin增加用户不显示明文方法相关的知识,希望对你有一定的参考价值。

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.一定要把 "职员状态" 勾选上,如果这里没有展示,就要在新建成功后进入修改页面修改成状态.

技术图片

 

 

  

 

以上是关于Django后台Admin继承UserAdmin增加用户不显示明文方法的主要内容,如果未能解决你的问题,请参考以下文章

Django用户继承AbstractUser后密码为明文

Django用户继承AbstractUser后密码为明文

python Django Admin:隐藏UserAdmin的权限,为GroupAdmin排除无用的权限

django-17.admin后台管理

django之admin后台管理

如何在Django Admin中的用户变更页面添加描述?