首页 > 其他 > 详细

Django中间件

时间:2018-06-26 15:41:07      阅读:166      评论:0      收藏:0      [点我收藏+]

1. 中间件概念

  中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。作用在wsgiref和url.py之间,客户端往服务端传递消息时根据HTTP协议传送的信息会先正向经过中间件,服务端给客户端传递消息时会反向经过中间件

2. 如何自定义中间件

  1. 按照格式要求写一个类

  2. 把我们写好的类在settings.py注册到MIDDLEWARE配置项的列表中

3. 每一个中间件中五个可以被重写的方法:

  1. process_request(self,request)

1. 何时执行在  urls.py之前执行

2. 执行的顺序  按照在列表中注册的顺序依次执行

3. 返回值  1. 返回None, 不错任何处理直接进行下一步  

      2. 返回响应对象, 直接跳出(后续中间件的process_request、不执行urls.py和views.py)返回响应

2. process_view(self, request, view_func, view_args, view_kwargs)

1. 执行时间: 在urls.py之后在执行真正的视图函数之前

2. 执行顺序  按照在列表中注册的顺序依次执行

3. 返回值  1. 返回None, 放行  2. 返回响应对象,就直接跳出,倒序依次执行所有中间件的process_response方法


3. process_template_response(self,request,response)

4. process_exception(self, request, exception)


5. process_response(self, request, response)

  1. 何时执行在  views.py返回响应对象之后执行

  2. 执行的顺序  按照在列表中注册的倒序依次执行

  3. 返回值  必须要有返回值,返回要是 响应对象

Django中间件

原文:https://www.cnblogs.com/tianyu529/p/9229221.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!