Django之组件--中间件

1 中间件
-是什么?中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能
-怎么用:
-自定义中间件:
1 写一个类,继承MiddlewareMixin,
2 在类中写方法:
process_request
3 在settings中配置

-5个方法(process_request,process_response)
******
process_request(self,request)
-执行顺序,settings中中间件自上而下执行
-请求来的时候会执行它
-request对象,就是本次请求的request对象,对它处理后,视图函数拿到的就是处理后的request对象

process_view(self, request, callback, callback_args, callback_kwargs)
-callback是视图函数,callback_args, callback_kwargs是视图函数的参数
-可以调用callback方法

process_template_response(self,request,response)(忘掉)
-只有视图函数返回的对象中有render方法的时候,才会执行
process_exception(self, request, exception)
-视图函数出错,会执行它
*****
process_response(self, request, response)
-执行顺序,settings中中间件自下而上执行
-响应走的时候,会执行它
-request对象,就是本次请求的request对象,response是响应对象(HttpResponse的对象)


-如果process_request方法返回HttpResponse的对象,请求直接返回,按中间件方法执行顺序往回走

2 csrf
xss攻击/csrf跨站请求伪造

猜你喜欢

转载自www.cnblogs.com/xuechengeng/p/10309108.html