大概介绍:
Auth这个是django提供的一套表模型,django_admin就是默认使用的这套模型,下面我们来继承他。
第一步:models.py
from django.db import models
from django.contrib.auth.models import AbstractUserclass User(AbstractUser):"""用户模型类"""telephone= models.CharField(max_length=11, unique=True, verbose_name='手机号码')class Meta:db_table = 'userinfo' # 创建的表名,如果不写,默认app_userinfo# 下面两个是配套的,用来在admin中表名显示汉字verbose_name = '用户信息'verbose_name_plural = verbose_namedef __str__(self):return self.username
第二步settings当中注册:
# 注册自定义用户模型,格式:“app应用名.表名称”
AUTH_USER_MODEL = 'users.User'
第三步:完成
我粗略解释一下为什么需要在settings里面进行注册:
a 因为,为了让我们的自己表,跟django默认的表合二为一,不要django在生成他默认的表了,以后都用我们自定义的表,进行相关的处理。
b 这个合二为一的表,是django_admin权限校验的基础,我们给继承了,以后django_admin会用我们的表,但是不影响django_admin的校验规则。
c django_admin的校验本质是依赖session的。
d 这个Auth模块提供了一系列的快速校验的方法,只要继承了AbstractUser就可以使用他的方法以及属性,但是我们一般不使用他的校验方法以及属性,都是自定义,好吧!不装了,一般都是cv别人的。
本文链接:https://my.lmcjl.com/post/958.html
展开阅读全文
4 评论