django默认使用的是:(在django.conf.global_settings.py中可以查看)
AUTH_USER_MODEL = "auth.User"
而django给我们自带了一个用户类:(在django.contrib.auth.models.py中可以查看)
AbstractUser
这个类(及其父类)里面有数据库中所有的字段 其中没有手机号以及头像
这时候自定义类的特点就展现出来了
首先继承AbstractUser这个类
from django.contrib.auth.models import AbstractUser
写入我们需要的字段
class Custom(AbstractUser):
# null 数据库可以为空, blank 表单可以不填
telephone = models.CharField(max_length=11, verbose_name='手机号', null=True, blank=True)
head = models.ImageField(verbose_name='头像', default='img.png')
然后我们在自己项目的setting下方重写global_settings中的AUTH_USER_MODEL = "auth.User"字段 变成我们自己的自定义类
# 自定义用户类
AUTH_USER_MODEL = "user.Custom"
最后删除数据库(有重要数据者慎重) 重新创建超级用户 进入admin路由即可