Django基础篇-中间件

  • Django 中间件(Middleware)
  • 模板上下文处理器(context processor)

① Django 中间件(Middleware)

是一个轻量级、底层的“插件”系统,可以介入 Django 的请求和响应处理过程,修改 Django 的输入或输出。

  • 激活中间件

需要把它添加到 Django 配置文件中的 MIDDLEWARE_CLASSES 元组中。

  • 自定义中间件

每个中间件组件是一个独立的 Python 类,可以定义下面方法中的一个或多个

  1. _init_:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件。
  2. process_request(request):执行视图之前被调用,在每个请求上调用,返回 None 或 HttpResponse 对象。
  3. process_view(request, view_func, view_args, view_kwargs):调用视图之前被调用,在每个请求上调用,返回 None 或 HttpResponse 对象。
  4. process_template_response(request, response):在视图刚好执行完毕之后被调用,在每个请求上调用,返回实现了 render 方法的响应对象。
  5. process_response(request, response):所有响应返回浏览器之前被调用,在每个请求上调用,返回 HttpResponse 对象。
  6. process_exception(request, response, exception):当视图抛出异常时调用,在每个请求上调用,返回一个 HttpResponse 对象。

# 例子

与 settings.py 同级目录下创建 mymiddleware.py 文件,定义类 MyException,实现自定义异常 process_exception 方法

将类 MyException 注册到 settings.py 中间件中

原文发布于微信公众号 - 数据云团(SmartData)

原文发表时间:2019-01-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券