python middleware模块_python之auth模块
django之auth模块
'''
今天傻逼了,整理了很久的笔记,结果因为更新了navigate,忘记保存重启,内存清空,数据都丢了,所以我先把今天所学的知识,大体讲一下,周末再具体进行补充。
'''
#auth模块主要就是围绕用户表,完成用户登录注册,修改密码,添加字段等作用的,可以加语法糖,全局,局部配置,
#然后可以用auth模块可以对字段进行扩充,就是继承,再加个配置
##下面是粗略的笔记,周六上午重新整理完
1.auth模块
用auth模块 你就用全套 不是自己写一部分 用别人一部分
如何创建超级用户 用于登录django admin的后台管理
createsuperuser
校验用户是否存在
user_obj = auth.authenticate(username=username,password=password)
# 返回的是数据对象 没有返回None
保存用户登录状态
auth.login(request,user_obj)
# 执行完这一句之后 只要是能够拿到request的地方
# 都可以通过request.user获取到当前登录用户对象
判断当前用户是否登录
request.user.is_authenticated()
获取当前用户数据对象
request.user
如何给视图函数加上校验用户是否登录的校验
from django.contrib.auth.decorators import login_required
# @login_required(login_url='/xxx/') # 局部配置
@login_required # 全局配置
def home(request):
return HttpResponse('home页面')
# 当用户没有登录的情况下 跳转的url有两种配置方式
1.在装饰器括号内通过login_url参数局部指定
2.全局配置 用户没有登录的情况下 所有的视图统一跳转到一个url
配置文件中
LOGIN_URL = '/login/'
修改密码
校验原密码是否正确
is_right = request.user.check_password(old_password)
设置新密码
request.user.set_password(new_password)
request.user.save()
用户注册
from django.contrib.auth.models import User
User.objects.create(username=username,password=password)
# 不用使用create 密码会直接存成明文
User.objects.create_user(username=username,password=password)
# 创建普通用户
User.objects.create_superuser(
username=username,password=password,
email='123@qq.com')
# 创建超级用户 邮箱字段必须填写
扩展auth_user表的字段
第一种(不好用)
利用一对一表关系 扩展字段
第二种(继承)
1.自己写一个默写类 继承原来的auth_user类 然后在settings配置文件中 告诉django使用你新建的类来替代auth_user表
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class Userinfo(AbstractUser):
"""
强调 你继承了AbstractUser之后 你自定义的表中
字段不能跟原有的冲突
"""
phone = models.BigIntegerField()
avatar = models.FileField()
register_time = models.DateField(auto_now_add=True)
2.一定要在settings配置文件中指定
AUTH_USER_MODEL = 'app01.Userinfo'
# 固定语法: AUTH_USER_MODEL = '应用名.表名'
"""
通过上面的方式 继承的表 还可以继续使用auth模块所有的功能
"""
温馨提示 当你需要些用户相关的功能的时候可以考虑使用auth模块
自定义中间件的配置
"""
思路:
首先,中间件就是一个多重防御的保安,对内可以实现全局的操作,对外可以根据需要筛选请求,基于前一个功能,我们自定义了一个中间件,主要功能就是要 暂停某个功能的使用,只需要在配置文件中注释掉相关的模块语句就可以了(就像之前的csrf一样)
"""
python middleware模块_python之auth模块相关推荐
- 简述python中怎样导入模块_Python中导入模块的两种模式,import
import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...
- python必学的模块_Python常用的模块
模块和包 1.1模块介绍模块定义:一系列功能的集合体 模块使用: import导入模块 或者 from ... import... 导入模块 模块分类:内置模块 自定义模块 第三方模块 模块加载顺序: ...
- python的窗口处理模块_python的图像处理模块
除了opencv专门用来进行图像处理,可以进行像素级.特征级.语义级.应用级的图像处理外,python中还有其他库用来进行简单的图像处理,比如图像的读入和保存.滤波.直方图均衡等简单的操作,下面对这些 ...
- python安装os模块_python的os模块(ipython,文件,目录,权限,管理)
什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,这时就离不了o ...
- python psycopg2使用_Python中用psycopg2模块操作PostgreSQL方法
其实在Python中可以用来连接PostgreSQL的模块很多,这里比较推荐psycopg2.psycopg2安装起来非常的简单(pip install psycopg2),这里主要重点介绍下如何使用 ...
- python中自带的模块_python中的模块详解
概念 python中的模块是什么?简而言之,在python中,一个文件(以".py"为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件.模块可以被项 ...
- python xlrd模块_python之xlrd模块
xlrd模块 一.xlrd模块 1.python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,这两个适用于.xls格式有效 2. xlrd模块 ...
- c调用python第三方库_Python使用ctypes模块调用DLL函数之C语言数组与numpy数组传递...
在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...
- python内建模块_Python 内建模块
1.内建模块: 在Python中,有一个内建模块,该模块中有一些常用函数;而该模块在Python启动后.且没有执行程序员所写的任何代码前,Python会首先加载该内建函数到内存.另外,该内建模块中的功 ...
最新文章
- 向窗体中拖放图片并显示
- 期未课程设计:基于SSM的产品销售管理系统
- PAT甲级1001.A+B Format(20)
- 【Qt笔记】对象模型
- ajax实现局部删除,Express+AdminLTE+hbs+Ajax实现局部刷新终极版(第二部分)
- 在ASP.NET 3.5中使用新的ListView控件(5)
- MapReduce之RecordWriter理解
- 百度深度学习图像识别决赛代码分享(OCR)
- 解决php使用ZipArchive解压时中文乱码问题(纯php,绕开ZipArchive)
- Python基础语法题库
- 如何提高测试团队效率?
- 奇异矩阵和非奇异矩阵 行列式矩阵简单理解 代数意义 几何意义 行列式的定义: 二阶行列式的几何意义: 三阶行列式的几何意义: 行列式化为对角形的几何解释: 二阶行列式乘积项的几何意
- 如何使用word删除签名图片背景
- 树莓派控制超声波测距原理及实现
- 通信 之 无线信道衰落
- PC浏览器调试手机浏览器工具
- Windows安装Gitea
- 「Python入门」Python代码规范(风格)
- node.js v14.9.0以及v12.18.3两版本 百度网盘下载链接
- RabbitMQ:消费者和生产者。
热门文章
- STM32工作笔记004---了解高速版PCB设计Cadence
- System学习笔记001---WIN10 win10按哪里哪里出现蓝色框
- theano 0.7 版本降到0.6 版本
- 附件计算器中的MC、MR、MS、M+作用
- delphi 整数类型的表述
- 司机行为识别_台州交警上线“闯红灯抓拍神器”人脸识别+4米大屏,拍到违章直接曝光...
- 51单片机入门教程(5)——定时器中断
- python字典调用_python 字典访问的三种方法
- python sklearn 支持向量机_python机器学习库sklearn之支持向量机svm介绍
- suse linux修改ftp端口,suse Linux系统下的网络设置(ftp telnet xmanager)