Django: 路由与视图 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

中间件流水线

Django根据注入时间点的不同,将中间件分成几类:

middleware

  • 请求中间件 - Django为请求匹配路由之前执行请求中间件的process_request方法
  • 视图中间件 -Django调用视图函数之前执行视图中间件的process_view方法
  • 异常中间件 - 如果Django调用视图函数的过程中发生了异常,将调用异常 中间件的process_exception方法
  • 模板响应中间件 - 如果之前环节返回的是一个模板响应对象,Django将在 实际渲染该模板之前,执行模板响应中间件的process_template_response方法。
    模板响应对象(TemplateResponse) 是一种延迟渲染的HttpResponse对象,我们 先选择性忽略,将在模板课程时详细介绍。
  • 响应中间件 - Django在向WSGI服务器返回响应之前,调用响应中间件的 process_response方法

不过这种分类只是一种概念上的分类。事实上,一个中间件可以同时实现 上述几种中间件所约定的接口,也就同时属于这几种中间件了。

运行示例代码,查看各接口方法的执行顺序。