数据库中默认的auth_user 表格中,内容如下:
我们需要在其中添加以下字段:
昵称, 生日,性别,地址,手机号
可以通过重写model中的类 AbstractUser来添加这些字段。
1) 在app: users中,models.py文件中,继承AbstractUser类,并在新的类中,直接添加想要的字段
from django.db import models
from django.contrib.auth.models import AbstractUser
Gender_choice = (
('male', '男'),
('female', '女')
)
class UserProfile(AbstractUser):
nick_name = models.CharField(max_length=50, null=True, blank=True, verbose_name='昵称')
birthday = models.CharField(max_length=10, verbose_name='生日', default='')
gender = models.CharField(verbose_name='性别', choices=Gender_choice, max_length=6)
address = models.CharField(verbose_name='地址',max_length=100, default='')
mobile = models.CharField(verbose_name='手机号', max_length=11, unique=True)
img = models.ImageField(verbose_name='头像', upload_to='head_img/%Y/%M', default='default.jpg')
class Meta:
verbose_name = '用户信息'
verbose_name_plural= verbose_name
def __str__(self):
if self.nick_name:
return self.nick_namenick_name
else:
return self.username # 查看UserProfile类时返回的值
2) 在settings.py文件中,将auth_user表指向上面的model
在settings.py中添加下面的字段, users为app名, UserProfile为models.py中的类名
AUTH_USER_MODEL = 'users.UserProfile'
3. 删除数据库中的文件, 执行makemigrations 和 migrate 命令