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的全部字段。

————————

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的全部字段。