zoukankan      html  css  js  c++  java
  • django之中间件

    1、什么是中间件

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

    如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。

    2、中间件在django整体中的示意图

    3、自定义中间件

    中间件一共有四个方法

    process_request     #用户发起请求时会经过

    process_view            #当到达url关系映射后回调视图函数

    process_exception     #视图函数出错时

    process_response     #给用户响应时经过

    # 注意:

    这四个方法中,process_request和process_view一般是返回None的,因为如果在这里返回response对象的话,process_response会接收这个对象直接返回给用户。

     process_exception一般是捕获异常然后放到responset对象中返回,如HttpResponse(exception)。

    > 一般只会用到request和response,当只有这两个方法时

    执行流程如下

    >当有response、response和view时,执行流程如下

    >当四个方法都有时执行流程如下

     3、应用场景

    > 服务器IP访问频率限制

    > URL过滤、用户校验

  • 相关阅读:
    数值数据类型
    如何提高数据迁移和复制的速度
    dns解析
    cdn加速
    集群
    JavaScript初学者应注意的七个细节
    CXF 5参考资料
    深入理解Spring MVC 思想
    【深入理解Java内存模型】
    牛人论
  • 原文地址:https://www.cnblogs.com/zhang-yl/p/10252371.html
Copyright © 2011-2022 走看看