Django自定义用户表+自定义admin后台中的字段实例


Posted in Python onNovember 18, 2019

1.自定义用户表 注意事项

必须在settings中配置AUTH_USER_MODEL这个字段

# 覆盖默认的用户模型,使用自定义用户模型
  # 语 法:'app的名称.自定义用户模型的名称'
  AUTH_USER_MODEL = 'admi.UserModel'

2.在models文件中编写UserModel类

from django.db import models
from django.contrib.auth.models import AbstractUser
# Django框架将createsuperuser创建的用户以及在amdin后台添加的用户,默认都保存在了auth_user这个表中,但是这个表的字段是固定的,如果想给用户扩展一些字段(年龄、性别、住址等),就需要重写User表了,不能再使用auth_user这个表了。

class UserModel(AbstractUser):
    # AbstractUser这个类,也就是Django框架默认使用的一个用于管理用户的User类,这个类生成一个auth_user表。所以,要扩展用户属性,可以继承AbstractUser,在子类UserModel中实现扩展。  
    nick_name=models.CharField(max_length=25,verbose_name='昵称')
    user_address=models.CharField(max_length=35,verbose_name='住址')

    class Meta:
     # 配置自定义用户表名是user_table
      db_table='user_table'
      verbose_name='用户'
      verbose_name_plural=verbose_name

添加完成后,在当前app的admin文件中注册

# 只要使用admin后台系统,所有的Model必须在这里进行注册
admin.site.register(UserModel)

3.测试

编写完上述步骤后,makemigrations、migrate同步数据库

Django自定义用户表+自定义admin后台中的字段实例

然后打开用户的数据库管理工具,可以看到user_table这个表已经生成了,而且表中生成了我们创建的两个字段

nick_name和user_address

Django自定义用户表+自定义admin后台中的字段实例

4.进入admin后台测试

先使用createsuper创建一个superuser用户

Django自定义用户表+自定义admin后台中的字段实例

通过admin登录到后台

Django自定义用户表+自定义admin后台中的字段实例

后台自动生成了一个字段代表用户名,我们把UserModel中Meat下verbose_name=‘用户' 修改成用户名,然后刷新admin页面,admin中的字段也会随之改变。

(这样也不需要更新数据库,是不是很方便呢?)

Django自定义用户表+自定义admin后台中的字段实例

5.后台字段扩展

a.更改用户名显示的内容(只显示admin是不是很单调?)

在UserModel中使用__str__魔法方法

Django自定义用户表+自定义admin后台中的字段实例

具体效果

Django自定义用户表+自定义admin后台中的字段实例

b.让后台信息显示多个字段

# 修改app下的admin.py文件
  from django.contrib import admin
  from .models import *
  class UserAdmin(admin.ModelAdmin):
    # 设置显示数据库中哪些字段
    list_display = ['username','password','nick_name','user_address']
    
  admin.site.register(UserModel,UserAdmin)

效果

Django自定义用户表+自定义admin后台中的字段实例

以上这篇Django自定义用户表+自定义admin后台中的字段实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
初步解析Python中的yield函数的用法
Apr 03 Python
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
Python实现将doc转化pdf格式文档的方法
Jan 19 Python
详解python之协程gevent模块
Jun 14 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
Python类中的魔法方法之 __slots__原理解析
Aug 26 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 #Python
Django 创建后台,配置sqlite3教程
Nov 18 #Python
Python3实现配置文件差异对比脚本
Nov 18 #Python
Python(PyS60)实现简单语音整点报时
Nov 18 #Python
wxPython实现整点报时
Nov 18 #Python
python字符串的拼接方法总结
Nov 18 #Python
python将字符串转变成dict格式的实现
Nov 18 #Python
You might like
php实现mysql同步的实现方法
2009/10/21 PHP
在PHP中养成7个面向对象的好习惯
2010/07/17 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
Chrome Web App开发小结
2014/09/04 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
python多线程同步实例教程
2019/08/11 Python
python异常处理和日志处理方式
2019/12/24 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
剪彩仪式主持词
2014/03/19 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
2014年大学生工作总结
2014/11/20 职场文书
2014年残联工作总结
2014/11/21 职场文书
2014年会计工作总结
2014/11/27 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书