基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(7)——自定义UserProfile

  • 新建一个名为 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已经完成

猜你喜欢

转载自blog.csdn.net/HeatDeath/article/details/69939110