Django认证系统中提供的用户模型类及方法很方便,我们可以使用这个模型类,但是字段有些无法满足项目需求,因此需要自己再自定义字段。Django提供了django.contrib.auth.models.AbstractUser
用户抽象模型类允许我们继承,扩展字段来使用Django认证系统的用户模型类。
1.在创建好的应用models.py中定义用户的用户模型类。
from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class User(AbstractUser): mobile = models.CharField(max_length=15, unique=True, verbose_name='手机号') money = models.DecimalField(max_digits=9, default=0.0, decimal_places=2, verbose_name="钱包余额") credit = models.IntegerField(default=0, verbose_name="积分") avatar = models.ImageField(upload_to="avatar/%Y", null=True, default="", verbose_name="个人头像") nickname = models.CharField(max_length=50, default="", null=True, verbose_name="用户昵称") class Meta: db_table = 'lf_users' verbose_name = '用户信息' verbose_name_plural = verbose_name
2.在settings配置文件中进行配置(自定义的用户模型类还不能直接被Django的认证系统所识别,需要在配置文件中告知Django认证系统使用我们自定义的模型类。)
AUTH_USER_MODEL = 'users.User'
#AUTH_USER_MODEL
参数的设置以点.
来分隔,表示应用名.模型类名
。
注意:Django建议我们对于AUTH_USER_MODEL参数的设置一定要在第一次数据库迁移之前就设置好,否则后续使用可能出现未知错误。
标签:name,自定义,models,模型,用户,AUTH,Django,verbose From: https://www.cnblogs.com/shaoyishi/p/16740626.html