第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)

中间件的注册顺序:

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/cavalier-chen/p/9959170.html
今日推荐