码迷,mamicode.com
首页 > 其他好文 > 详细

第68篇 中间件的常用方法

时间:2018-11-14 18:55:01      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:exception   传递   war   end   color   django   实例化   倒序   参数   

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篇 中间件的常用方法

标签:exception   传递   war   end   color   django   实例化   倒序   参数   

原文地址:https://www.cnblogs.com/cavalier-chen/p/9959170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!