1. Django默认用户认证系统 Django自带用户认证系统 它处理用户账号、组、权限以及基于cookie的用户会话。 Django认证系统位置 django.contrib.auth包含认证框架的核心和默认的模型。
django.contrib.ContentTypes
是Django内容类型系统,它允许权限与你创建的模型关联。 Django认证系统同时处理认证和授权 认证:验证一个用户是否它声称的那个人,可用于账号登录。 授权:授权决定一个通过了认证的用户被允许做什么。 Django认证系统包含的内容 用户:用户模型类、用户认证。 权限:标识一个用户是否可以做一个特定的任务,MIS系统常用到。 组:对多个具有相同权限的用户进行统一管理,MIS系统常用到。 密码:一个可配置的密码哈希系统,设置密码、密码校验。 2. Django默认用户模型类 Django认证系统中提供了用户模型类User保存用户的数据。 User对象是认证系统的核心。 Django认证系统用户模型类位置
django.contrib.auth.models.User
父类AbstractUser介绍
User对象基本属性 创建用户必选:username、password
创建用户可选:email、first_name、last_name、last_login、date_joined、is_active 、is_staff、is_superuse
判断用户是否通过认证:is_authenticated
创建用户的方法
user = User.objects.create_user(username,email,password,**extra_fIElds)
用户认证的方法
from django.contrib.auth import authenticateuser = authenticate(username=username,password=password,**kwargs)
处理密码的方法
设置密码:set_password(raw_password)校验密码:check_password(raw_password)
3. 自定义用户模型类
思考:为什么要自定义用户模型类?
Django默认用户模型类中没有mobile字段,所以要自定义用户模型类。如何自定义用户模型类?
继承自AbstractUser(可通过阅读Django默认用户模型类的源码得知) 。 新增mobile
字段。
from django.db import modelsfrom django.contrib.auth.models import AbstractUser# Create your models here.class User(AbstractUser): """自定义用户模型类""" mobile = models.CharFIEld(max_length=11,unique=True,verbose_name=‘手机号‘) class Meta: db_table = ‘tb_users‘ verbose_name = ‘用户‘ verbose_name_plural = verbose_name def __str__(self): return self.username
4. 知识要点 Django自带用户认证系统,核心就是User对象。 Django用户认证系统包含了一系列对用户的 *** 作,比如:模型类,认证,权限,分组,密码处理等。 Django用户认证系统中的用户模型类可以自定义,继承自AbstractUser。 Django用户认证系统说明文档 总结
以上是内存溢出为你收集整理的【Python-Django定义用户模型类】Python-Django定义用户模型类详解!!!全部内容,希望文章能够帮你解决【Python-Django定义用户模型类】Python-Django定义用户模型类详解!!!所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)