- 新建一个名为 MxOnline 的 Django 项目,在创建一个名为 users 的App,配置好数据库
开始设计 users App 的 models.py ,这是设计任何一个 App 的第一项工作:
鉴于 Django 自带的 auth_user 不能够完全满足我们的需要,我们需要在继承原有 auth_user 的基础上,在设计一下我们的user:
from django.db import models
from django.contrib.auth.models import AbstractUser
class UserProfile(AbstractUser):
nick_name = models.CharField(max_length=50, verbose_name="昵称", default="")
birday = models.DateField(verbose_name="生日", null=True, blank=True)
gender = models.CharField(choices=(("male", "男"), ("female", "女")), default="female")
address = models.CharField(max_length=100, default="")
mobile = models.CharField(max_length=11, null=True, blank=True)
image = models.ImageField(upload_to="image/%Y/%m", default="image/default.png", max_length=100)
class Meta:
verbose_name = "用户信息"
verbose_name_plural = verbose_name
def __str__(self):
return self.username
在 settings.py 中注册users App ,并设置 AUTH_USER_MODEL = "user.UserProfile" 替代原有的 auth_user:
运行 makemigrations 命令报错:
发现是这里错了…
使用 UserProfile 替换 Auth_user已经完成
本文介绍如何在Django项目中自定义用户模型,通过继承AbstractUser类并添加额外字段来扩展默认用户模型的功能。
1552

被折叠的 条评论
为什么被折叠?



