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过滤、用户校验

  • 相关阅读:
    课堂测试-文本操作
    异常的总结
    动手动脑实验-异常
    从小工到专家-读后感3
    从小工到专家-读后感2
    从小工到专家-读后感1
    构建之法读书笔记(一)
    2.12日总结
    BaseAdapter的使用
    Activity之Bundle的使用
  • 原文地址:https://www.cnblogs.com/zhang-yl/p/10252371.html
Copyright © 2011-2022 走看看