Django中自定义用户模型
Django中自定义用户模型
(1)settings.py配置如下
# 配置自定义用户模型MyUser
AUTH_USER_MODEL = 'account.MyUser' # account为项目应用,MyUser为account的models.py的模型
(2)account的models.py代码如下:
# 示例代码,具体字段根据项目所需设置
from django.db import models
from django.contrib.auth.models import AbstractUser
class MyUser(AbstractUser):
name = models.CharField('姓名', max_length=50, default='匿名用户')
introduce = models.TextField('简介', default='暂无介绍')
company = models.CharField('公司', max_length=100, default='暂无信息')
profession = models.CharField('职业', max_length=100, default='暂无信息')
address = models.CharField('住址', max_length=100, default='暂无信息')
telephone = models.CharField('电话', max_length=11, default='暂无信息')
wx = models.CharField('微信', max_length=50, default='暂无信息')
qq = models.CharField('QQ', max_length=50, default='暂无信息')
wb = models.CharField('微博', max_length=100, default='暂无信息')
photo = models.ImageField('头像', blank=True, upload_to='images/user/')
# 设置返回值
def __str__(self):
return self.name
模型MyUser在模型User的基础上新增了上述字段,它继承父类 AbstractUser,而 AbstractUser 是模型 User的父类,因此模型MyUser具有模型User的全部字段。