zoukankan      html  css  js  c++  java
  • 中间件函数的执行流程

    MIDDLEWARE = [

    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'mid.middleware.M1',
    'mid.middleware.M2',
    ]
     
    1:一旦process_request返回,则不再执行下面中间件的process_request,直接执行该返回中间件的process_response,然后顺次往上执行.

    2:process_request-->路由匹配-->process_view-->view函数-->process_response

    3:一旦process_view返回的话,process_view不再往下执行,view函数也不执行,直接执行process_response

     

    4.一旦view视图中报错了,就会走process_exception函数,若在process_exception一直未处理错误,则最终错误返回显示到浏览器,不友好

    而一旦错误被处理(process_exception函数返回),则process_exception不再向上走,直接走process_response
     
     
     
     
  • 相关阅读:
    Poj(1703),种类并查集
    Poj(2236),简单并查集
    Poj (3239),m皇后问题
    Poj(1521),哈夫曼编码
    NYOJ(680),摘枇杷,(暴力,或者二分搜索)
    NYOJ(42)欧拉图
    数集合有多少个TOJ(2469)
    HDU(1016),打素数环
    HDU(4394),数论上的BFS
    Poj(2225),三维BFS
  • 原文地址:https://www.cnblogs.com/jec1999/p/7639027.html
Copyright © 2011-2022 走看看