### 11.13 中间件中间件的定义:中间件是处理django的请求和相应的框架级别的钩子,本质上就是一个类中间件可以定义为五个方法:- process_request(self,request)- process_vIEw(self,request,vIEw_func,vIEw_args,vIEw_kwargs)- process_template_response(self,response)- process_exception(self,exception)- process_response(self,response)4个特征:执行时间、执行顺序、参数、返回值1.process_request(self,request)执行时间:视图函数之前参数:request —— 》 和视图函数中是同一个request对象执行顺序:按照注册的顺序 顺序执行返回值:? None : 正常流程? httpResponse: 后面的中间的process_request、视图函数都不执行,直接执行当前中间件中的process_response方法,倒叙执行之前的中间中process_response方法。2.process_response(self,response)执行时间:视图函数之后参数:? request —— 》 和视图函数中是同一个request对象? response ——》 返回给浏览器响应对象执行顺序:按照注册的顺序 倒叙执行返回值:? httpResponse:必须返回response对象3.process_vIEw(self,vIEw_kwargs)执行时间:视图函数之前,process_request之后参数:? request —— 》 和视图函数中是同一个request对象? vIEw_func ——》 视图函数? vIEw_args ——》 视图函数的位置参数? vIEw_kwargs ——》 视图函数的关键字参数执行顺序:按照注册的顺序 顺序执行返回值:? None : 正常流程? httpResponse: 后面的中间的process_vIEw、视图函数都不执行,直接执行最后一个中间件中的process_response方法,倒叙执行之前的中间中process_response方法。4.process_exception(self,exception)执行时间(触发条件):视图层面有错时才执行参数:? request —— 》 和视图函数中是同一个request对象? exception ——》 错误对象执行顺序:按照注册的顺序 倒叙执行返回值:? None : 交给下一个中间件取处理异常,都没有处理交由django处理异常? httpResponse: 后面的中间的process_exception不执行,直接执行最后一个中间件中的process_response方法,倒叙执行之前的中间中process_response方法。5.process_template_response(self,response)执行时间(触发条件):视图返回的是一个templateResponse对象参数:? request —— 》 和视图函数中是同一个request对象? response ——》 templateResponse对象执行顺序:按照注册的顺序 倒叙执行返回值:? httpResponse:必须返回response对象![img](https://images2018.cnblogs.com/blog/867021/201804/867021-20180409214433968-2137571775.png)![img](https://images2018.cnblogs.com/blog/1168194/201807/1168194-20180719084357413-1778333372.png)总结
以上是内存溢出为你收集整理的doraemon的python django的中间件(国庆大更新)全部内容,希望文章能够帮你解决doraemon的python django的中间件(国庆大更新)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)