zoukankan      html  css  js  c++  java
  • Django--中间件

    首先看一下django的生命周期图

    中间件处在wsgiref和路由系统之间,也就是说所有从浏览器发送到服务器的请求都必须经过中间件。

    而中间件的作用又是什么呢?

    中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能

    而中间件到底是什么呢?

    中间件其实就是一个类,这个类中一共有5个方法,分别是

    process_request:请求来的时候从上往下依次执行每一个中间件里面的process_request
    process_response :响应走的时候会从下往上依次执行每一个中间件里面的process_response方法

    process_view:路由匹配成功执行视图之前自动触发(从上往下依次执行)
    process_exception:当视图函数报错了,自动触发(从下往上依次执行)
    process_template_response:视图函数返回的对象有一个render()方法
    (或者表明该对象是一个TemplateResponse对象或等价方法)(从下往上依次执行)

    中间件的执行流程

    我们特可以自己写一个中间件来验证一下

    首先在项目根目录创建一个py文件

     创建完成后到settings文件中注册中间件

     

    得到结果

  • 相关阅读:
    大数问题(三)(大数相除)
    直接插入排序的四种实现方法
    蟠桃记
    杭电oj find your present (2)
    CSS中的class与id区别及用法
    史上最全的css hack(ie6-9,firefox,chrome,opera,safari) (zz)
    CSS之CSS hack
    HTML语言的一些元素(五)
    HTML语言的一些元素(四)
    HTML语言的一些元素(三)
  • 原文地址:https://www.cnblogs.com/duGD/p/11218551.html
Copyright © 2011-2022 走看看