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
    
    posted @ 2020-01-01 16:35  GeminiMp  阅读(883)  评论(0编辑  收藏  举报