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中将阿拉伯数字转换成中文的实现代码
May 19 Python
Python素数检测的方法
May 11 Python
举例详解Python中threading模块的几个常用方法
Jun 18 Python
Python 专题四 文件基础知识
Mar 20 Python
新手如何快速入门Python(菜鸟必看篇)
Jun 10 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
Pycharm新建模板默认添加个人信息的实例
Jul 15 Python
Django CBV模型源码运行流程详解
Aug 17 Python
Django项目如何获得SSL证书与配置HTTPS
Apr 30 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预定义常量
2006/12/25 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
2017/02/19 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
vue之nextTick全面解析
2017/05/17 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
销售行政专员岗位职责
2014/06/10 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
神农溪导游词
2015/02/11 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
学者《孟子》名人名言
2019/08/09 职场文书