使用AbstractUser内置用户模型创建自定义用户模型

李金龙
李金龙
管理员
738
文章
0
粉丝
生活随记 Django学习使用AbstractUser内置用户模型创建自定义用户模型已关闭评论4,855字数 277阅读模式

上述的内容只是为了记录,因为在操作的时候一直没留意到使用的是AbstractBaseUser,而走了不少歪路。

AbstractUser是一个完整的用户模型

AbstractBaseUser仅包含身份验证功能,没有实际的字段。

 

操作流程

  • APP models.py文件中引入以下内容
  1. from django.contrib.auth.models import AbstractBaseUser
  • 在models.py文件下定义新增的字段
  1. # 用户模型
  2. class User(AbstractUser):  # 注意字段后括号的内容
  3.     # 新增以下字段
  4.     avatar = models.ImageField(upload_to='avtar/%Y/%m', default='avtar/default.png', max_length=100, blank=True,
  5.                                verbose_name='用户头像')
  6.     qq = models.CharField(max_length=20, blank=True, null=True, verbose_name='QQ号码')
  7.     mobile = models.CharField(max_length=11, blank=True, unique=True, null=True, verbose_name='手机号码')
  8.     # 字段命名
  9.     class Meta:
  10.         verbose_name = '用户'
  11.         verbose_name_plural = verbose_name
  12.     # 返回字段名
  13.     def __str__(self):
  14.         return self.username
  • 在项目setting.py文件中自定义用户
  1. # blog.User 为APP名 +数据库中用户字段
  2. AUTH_USER_MODEL = 'blog.User'

使用AbstractUser内置用户模型创建自定义用户模型

 

参考内容:

https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#django.contrib.auth.models.PermissionsMixin.has_perms

http://www.cnblogs.com/caseast/p/5909987.html

扩展阅读:

http://python.jobbole.com/86806/

 
李金龙
  • 本文由 李金龙 发表于2017年6月11日 15:54:23
  • 转载请务必保留本文链接:https://www.lijinlong.cc/sgef/2024.html
生活随记

中山利耀和东三信战略投资企优托集团1200万!

2019年1月24日 企优托集团与中山利耀织造有限公司 和深圳市东三信纺织品有限公司 签署战略合作协议 签约仪式在企优托集团总部举行 企优托集团创始人赵帅甲赵总 中山利耀创始人叶耀群叶总 东三信创始人...
生活随记

努力让自己成为一个更好的自己。

2018年是一个加班年,今年自己给自己晚上放的假可能超过30天,剩余的时间里面都在加班,以11点为一个界限点。 这一年扩展了很多的知识面: 产品经理 Axure UML ER图 API ... 这一年...