当前位置:   article > 正文

Django拓展User用户表_django admin 增强 user 表

django admin 增强 user 表

新建项目MyTest

在这里插入图片描述

新建app=>login

(MyTest) E:\devops\MyTest>python manage.py startapp login

在这里插入图片描述

配置model

# login/model.py
from django.contrib.auth.models import AbstractUser
from django.db import models

# Create your models here.
class UserInfo(AbstractUser):
#	添加一个字段
    wechat = models.CharField(verbose_name='微信', blank=True, null=True, max_length=32)
    def __str__(self):
        return self.username
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

将model注册到admin

# login/admin.py
from django.contrib import admin

# Register your models here.
from django.contrib.auth.admin import UserAdmin #使用django自己的UserAdmin来注册
from django.utils.translation import gettext, gettext_lazy as _
from .models import UserInfo

# 重写fieldsets 
class UserAdmin(UserAdmin):
    #重写fieldsets在admin后台加入自己新增的字段
    fieldsets = (
        (None, {'fields': ('username', 'password')}),
        (_('Personal info'), {'fields': ('first_name', 'last_name', 'email', 'wechat')}),
        (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser')}),

    )
    # 注册到admin
admin.site.register(UserInfo, UserAdmin)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

setting配置

#MyTest/settings.py
INSTALLED_APPS = [
	#…………
    'login.apps.LoginConfig',
    #…………


]

AUTH_USER_MODEL = 'login.UserInfo'

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

运行项目

# 初始化数据库
(MyTest) E:\devops\MyTest>python manage.py makemigrations
(MyTest) E:\devops\MyTest>python manage.py migrate

# 运行项目
(MyTest) E:\devops\MyTest>python manage.py makemigrations

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

在这里插入图片描述

新建用户

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/306422
推荐阅读
相关标签
  

闽ICP备14008679号