学诚项目 - 1 user表创建 与 auth 表的合并

Posted shijieli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学诚项目 - 1 user表创建 与 auth 表的合并相关的知识,希望对你有一定的参考价值。

学诚项目 - user表创建 与 auth 表的合并

user 表的设计

基于 Django 自带的 auth 表进行拓展合并

models.py 新添加字段如下 

from django.contrib.auth.models import AbstractUser


class UserProfile(AbstractUser):
    nickname = models.CharField(max_length=50, verbose_name="昵称", default="")
    birday = models.DateField(verbose_name="生日", null=True)
    gender = models.CharField(max_length=5, choices=(("male", ""), ("female", "")), default="female")
    addres = models.CharField(max_length=100, default="")
    mobile = models.CharField(max_length=11, null=True, default="")
    image = models.ImageField(max_length=100, upload_to="image/%Y/%m", default="image/default.png")

    class Meta:
        verbose_name = "用户信息"
        verbose_name_plural = verbose_name

setting.py 中需要做的操作如下 , 添加一个 字段设置

INSTALLED_APPS = [
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    "users"
]

AUTH_USER_MODEL = "users.UserProfile"

实现效果

 技术图片

知识点 / 注意点

1. 只要是  CharField  类型字段都需要设置 max_length 

2. auth 被合并的时候 需要在 settings.py 中增加一个字段  AUTH_USER_MODEL 以及相关所需要继承的  AbstractUser

3.  choices 属性的使用格式方法  (("",""),(),().....)

 

以上是关于学诚项目 - 1 user表创建 与 auth 表的合并的主要内容,如果未能解决你的问题,请参考以下文章

Django项目之blog表设计

制作博客系统

user模块User表

扩展Django内置的auth模块代码示例

Auth模块

2020Python修炼记web框架之 权限管理+Auth模块