cookie,session与中间键
学习的博客地址:https://www.cnblogs.com/liwenzhou/p/8343243.html
1.浏览器请求服务器的四种方法:url,a标签,form表单,ajax
2.SweetAlert插件的使用:swal('title','text','type')
3.cookie是什么?
保留在浏览器的键值对
浏览器访问一个网站的时候自动携带该网站的cookie
4.cookie的作用
保存请求的状态
5.cookie的应用.
登录
保存用户的浏览习惯
简单的投票限制
6.Django中cookie的使用
1.普通cookie
1.设置cookie
reponse_obj.set_cookie(key,value,max_age=None)
max_age:控制cookie的过期时间,默认是关闭浏览器就失效
2.获取cookie
request.COOKIES -->字典
2.加盐的cookie
1.设置cookie
response_obj.set_signed_cookie(key,value,salt='',max_age=None)
2.获取cookie
request.get_signed_cookie(key,salt='',default='默认值')
3.删除cookie
request_obj.delete_cookie(key)
7.cookie的缺点:
在浏览器端保存的长度4096,
键值对保存在浏览器端,信息不安全
8.seesion是什么?
1.保存在服务端的键值对
9.Django提供的装饰器工具
from django.utils.decorators import method_deccorator
把装饰函数的装饰器包装成可以装饰类中方法的装饰器
10.django中ajax添加csrftoken的方式
1.在页面上写一个{% csrftoken %},用jQuery取到其值添加到data中
2.利用JS从cookie获取csrftoken,设置AJAX的请求头
11.中间件
1.作用
全局改变Django的请求和响应
2.Django中自定义中间件
五个方法(执行的时间点,执行的顺序,参数,返回值)
1.process_request(self,request)
1.执行的时间点
请求进来之后
2.执行的顺序
按照中间件的注册顺序执行
3.参数
当前请求对象
4.返回值
1.返回None继续执行后续的
2.返回响应对象,不继续执行后续的流程,直接返回响应
2.process_response(self,request,responnse)
1.执行的时间点:
返回响应之后
2.执行顺序
按照中间件注册的倒叙执行
3.参数
1.request:当前的请求对象
2.response:传递过来的响应对象
4.返回值
1.必须返回一个响应对象
3.process_view(self,request,view_func,view_args,view_kwargs)
1.执行的时间点
proccess_request之后,视图函数之前执行
2.执行顺序
按照中间件的注册顺序执行
3.参数
1.request:请求对象
2.view_func:将要执行的视图函数对象
3.view_args/view_kwargs:将要执行的函数的参数
4.返回值
1.None:继续往后执行
2.响应对象:直接返回了,不会执行后续的视图函数
4.process_template_response(self,request,response)
1.执行的时间点:
当视图函数中返回带render方法的响应对象,这个方法才会执行
2.执行的顺序
中间键注册的倒序
3.参数
1.request:请求的对象
2.response:响应对象
4.返回值
1.必须返回响应对象
5.process_exception(self.request,exception)
1.执行的时间点
当视图函数中抛出异常的时候才会执行这个方法
2.执行的顺序
中间件的注册的倒序
3.参数
1.request:请求对象
2.exception:视图函数抛出的异常
4.返回值
1.None:继续执行后续
2.响应对象:直接返回