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

  • 相关阅读:
    判断一个数是否为素数的方法
    什么是算法?
    table 表格
    状态模式
    设计模式
    观察者模式
    async函数
    JS单线程和异步
    ES6 --- Promise
    浅析flex 布局
  • 原文地址:https://www.cnblogs.com/zhang-yl/p/10252371.html
Copyright © 2020-2023  润新知