Django 【认证系统】auth
本篇内容
介绍Django框架提供的auth 认证系统
方法:
方法名 |
备注 |
create_user |
创建用户 |
authenticate |
登录验证 |
login |
记录登录状态 |
logout |
退出用户登录 |
is_authenticated |
判断用户是否登录 |
login_required装饰器 |
进行登录判断 |
引入模块
from django.contrib import auth
登录认证
user = auth.authenticate(username=username, password=pwd)if user is not None:# 将登录的用户封装到request.user# 在中间件中 process_request 中每次都这样子处理# id = request.session.get("user_id") 得到id# user = auth.User.objects.get(id=id)# request.user = userauth.login(request, user=user)return redirect("/index/")
验证通过则返回user,没有则返回None,在 login 函数中将认证通过的用户赋值给 request.user 属性,以及内部的 session 操作。 封装request.user = user
认证装饰器 login_required
from django.contrib.auth.decorators import login_required@login_required def index(request):print(request.user.username)return render(request, "index.html")
需要配置登录视图的url,所以需要在 settings 文件中配置如下:
# 如果没有登录 默认跳转的url LOGIN_URL = "/login/"
创建用户
1.普通用户
from django.contrib.auth.models import User# 加密的user = User.objects.create_user(username="tanglaoer2", password="tanglaoer")user.set_password("tang")user.save()
2.超级用户
user = User.objects.create_superuser(username="tanglaoer2", password="tanglaoer") user.set_password("tang") user.save()
注销
auth.logout(request)
内部相当于 request.session.flush()
扩展自带的auth_user表
1.新建一个表, 一对一关联上面的auth_user表
或者新建一个表,继承的方式
from django.contrib.auth.models import AbstractUserclass UserInfo(AbstractUser):phone = models.CharField(max_length=11)addr = models.CharField(max_length=128)
相当于对默认的 auth_user 表做了扩展, 并且代替 auth_user ,还需要在配置文件 settings 中进行如下配置:
# 如果使用继承的方式 继承auth的models,要在settings.py里面配置 默认用户认证时使用的哪张表 AUTH_USER_MODEL = "app.UserInfo"
auth认证还是使用 auth 只是创建用户的时候改为 用 UserInfo
转载于:https://www.cnblogs.com/tangkaishou/p/10226579.html
Django 【认证系统】auth相关推荐
- Django的认证系统(auth)
Django自带的用户认证 : 在开发一个网站时, 无可避免的需要设计实现网站的用户系统. 此时我们需要实现包括用户注册, 用户登录, 用户认证, 注销, 修改密码等功能. Django作为一个完美主 ...
- django 1.8 官方文档翻译:使用Django认证系统
使用Django认证系统 这篇文档解释默认配置下Django认证系统的使用.这些配置已经逐步可以满足大部分常见项目对的需要,可以处理范围非常广泛的任务,且具有一套细致的密码和权限实现.对于需要与默认配 ...
- django认证系统实现自定义权限管理的方法 - python
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文记录使用django自带的认证系统实现自定义的权限管理系统,包含组权限.用户权限等实现. 0x01. django认 ...
- django 1.8 官方文档翻译:13-1-2 使用Django认证系统
使用Django认证系统 这篇文档解释默认配置下Django认证系统的使用.这些配置已经逐步可以满足大部分常见项目对的需要,可以处理范围非常广泛的任务,且具有一套细致的密码和权限实现.对于需要与默认配 ...
- 43.Django权限系统auth模块详解
昨天我们为了登录admin,通过命令创建了超级用户,你是不是有个疑问--这创建的超级用户的信息是存放在哪里了呢? 这就想到了我们映射数据库时,Django自动创建的一些表(这也是之前进行数据库迁移 ...
- Django的自带认证系统——auth模块
Django自带的用户认证 auth模块 from django.contrib import auth 备注:使用auth模块时,我们默认使用Django提供的auth_user表,创建数据时,可以 ...
- Django——认证系统(Day72)
阅读目录 COOKIE 与 SESSION 用户认证 COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持 ...
- Django权限系统auth模块详解
转自:原文出处 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理. auth可以和admin模块配合使用, 快速建立网站的管理系统. 在INSTALLED_A ...
- Django默认用户认证系统和用户模型类
Django默认用户认证系统和用户模型类 1.Django默认用户认证系统 Django自带用户认证系统 Django认证系统位置 Django认证系统同时处理认证和授权 Django认证系统包含的内 ...
- 【Django】认证系统
目录 #. auth模块 1. 认证 authenticate() 2. 登陆 login(HttpRequest, user) 3. 注销 logout(request) 4. 认证判断 is_au ...
最新文章
- QIIME 2教程. 24Python命令行模式Artifact API(2020.11)
- Linux之traceroute命令使用详解—网络故障定位(三)
- NPashaP的二分图源码部分
- 面向对象设计原则OO
- C#中的Lock锁深入理解
- 您不想错过的十大Java书籍
- [转]在资源管理器中使鼠标右键增加一个命令,运行cmd,同时使得当前路径为资源管理器当前的目录...
- 关于页面布局间距使用的经验之谈
- Pandas DateOffset
- sql server端口_SQL Server端口概述
- 勘测定界坐标导入cad
- 使用百度 EasyDL 实现电动车进电梯自动预警
- torch.max使用示例
- 家用洗地机买什么牌子好一点?家用洗地机推荐
- 淘宝号搜索标签查询,买家标签查询、人群标签查询、淘宝号搜索打标接口、买家标签查询接口、人群标签查询接口
- java发牌_Java 扑克牌发牌
- 【HR-VITON】虚拟换衣算法pre-processing复现全过程记录
- macOS Catalina 10.15.7正式版 CDR/ISO镜像 for VMware
- R语言使用car包的vif函数计算方差膨胀因子,并基于方差膨胀因子开方后和阈值(2)的判断来确认模型特征(预测变量)之间是否存在多重共线性(Multicollinearity)
- FCF中文指南-第七章--FusionCharts Free和XML
热门文章
- android根据mac地址连接耳机,Android获取设备IMEI和Mac地址
- 点云数据显示_vispy 显示 kitti 点云数据
- java springmvc 数据库事务_事务的简单回顾_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...
- php代码清除空格注解,去除php注释和去除空格函数分享
- C语言switch中break的作用,C语言中switch...case语句中break的重要性
- 后台系统可扩展性学习笔记(五)负载均衡
- 《线程管理:线程基本操作》
- LeetCode 101. 对称二叉树 思考分析
- scala char_Scala中的Char数据类型
- html上下滚动切换顶端tab,jQuery实现Tab菜单滚动切换的方法