Django自定义后台管理显示的字段信息
目录
在Django自带的后台管理系统中,通过Django的auth模块创建的用户表对应的页面,展示的信息都可以由自己配置。
# admin文件中:
from django.contrib import admin
from . import models
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
# 重写UserAdmin类
class UserAdmin(AuthUserAdmin):
# 添加用户页面可控制字段
add_fieldsets = (
(None, {
'classes': ('wide',),
# 自定义添加用户页面中的可控制字段,可以让密码变成密文
'fields': ('username', 'password1', 'password2', 'is_staff', 'mobile'),
}),
)
# 自定义用户信息展示页面显示的字段
list_display = ('username', 'email', 'mobile', 'is_staff')
# 注册自定义User表,用admin管理,配置UserAdmin,定制化管理页面
admin.site.register(models.User, UserAdmin)
# models文件中:
# 重点:通过继承AbstractUser创建的用户管理表,一定要在第一次数据库迁移时完成
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
mobile = models.CharField(max_length=11, verbose_name='电话号码', unique=True)
# 配置User类
class Meta:
# 控制数据表创建时的表名直接就是 my_user,没有前缀
db_table = 'my_user'
# 使用admin后台管理是时显示User表时变为”用户表“(就是汉化)
verbose_name_plural = '用户表'
def __str__(self):
return self.username