第68篇 中间件的常用方法
Posted cavalier-chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第68篇 中间件的常用方法相关的知识,希望对你有一定的参考价值。
1.什么是中间件?
2. Django 自定义中间件的五个方法
处理请求:process_request(self,request)
0.执行的时间点:
返回响应之后
1. 执行顺序
按照中间件注册的顺序执行
2. 参数
当前请求对象 request
3. 返回值
1. 没有返回值的时候,继续执行后续的中间件
2. 返回响应对象(render,redirect,HttpResponse)的时候,不继续执行,直接将响应对象返回给浏览器
处理响应:process_reponse(else,request)
0.执行的时间点:
请求进来之后
1. 执行顺序
按照中间件注册的顺序 倒序 执行
2. 参数
1.当前请求对象 request
2.传递过来的响应对象response
3. 返回值
1. 必须要返回一个响应对象,这个响应对象可以自己的实例化的响应对象,也可以是上一个中间件传递多来的response
处理视图:process_view(self,request,view_func,view_args,view_kwargs)
0.执行的时间点:
process_response之后,进入视图函数之前执行
1. 执行顺序
按照中间件注册的顺序执行
2. 参数
1. 当前请求对象 request
2. view_func,将要执行的视图函数对象
3. view_arge/view_kwargs将要执行的视图函数的参数
3. 返回值
1. 没有返回值的时候,继续执行后续的中间件
2. 返回响应对象(render,redirect,HttpResponse)的时候,不继续执行后续的视图函数,直接将响应对象返回给浏览器
处理模板:process_template_reponse(self,request,reponse)
0. 执行的时间点:
当视图函数中返回带有render方法的响应对象,这个方法才会执行
处理异常:process_exceptions(self,request,exception)
中间件的注册顺序:
以上是关于第68篇 中间件的常用方法的主要内容,如果未能解决你的问题,请参考以下文章