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

  • 相关阅读:
    数据库中的Convert
    xml Data Type Methods in sql server
    WITH common_table_expression (Transact-SQL)
    NuGet配置代理
    SQL Source Control
    3线-8线译码器
    git commit template
    PowerShell中和服务相关的命令
    how to backup and restore database of SQL Server
    上升时间最长的序列
  • 原文地址:https://www.cnblogs.com/zhang-yl/p/10252371.html
Copyright © 2011-2022 走看看