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 图片验证码代码分享
Jul 04 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
实例讲解python中的协程
Oct 08 Python
浅析Python语言自带的数据结构有哪些
Aug 27 Python
python连接PostgreSQL过程解析
Feb 09 Python
Python3列表List入门知识附实例
Feb 09 Python
Python 生成VOC格式的标签实例
Mar 10 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
python适合做数据挖掘吗
Jun 16 Python
python openssl模块安装及用法
Dec 06 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
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
js如何实现设计模式中的模板方法
2013/07/23 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python正则表达式使用经典实例
2016/06/21 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
小学生检讨书大全
2014/02/06 职场文书
小学母亲节活动方案
2014/03/14 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
党的生日演讲稿
2014/09/10 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
公司离职证明范本
2014/10/17 职场文书
教师党员个人自我评价
2015/03/04 职场文书
2015年话务员工作总结
2015/04/29 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
签约仪式致辞
2015/07/30 职场文书
小学班主任心得体会
2016/01/07 职场文书
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android