Django中介軟體的處理流程
1、中介軟體介紹
wsgi之後 urls.py之前 在全域性 操作Django請求和響應的模組!
2、中介軟體的方法
2.1、process_request
執行順序:
按照註冊的順序(在settings.py裡面設定中 從上到下的順序)
何時執行:
請求從wsgi拿到之後
返回值:
返回None,繼續執行後續的中介軟體的process_request方法
返回response , 不執行後續的中介軟體的process_request方法
2.2、process_response
執行順序:
按照註冊順序的倒序(在settings.py裡面設定中 從下到上的順序)
何時執行:
請求有響應的時候
返回值:
必須返回一個response物件
2.3、process_view
process_view(self, request, view_func, view_args, view_kwargs)
執行順序:
按照註冊的順序(在settings.py裡面設定中 從上到下的順序)
何時執行:
在urls.py中找到對應關係之後 在執行真正的檢視函式之前
返回值:
返回None,繼續執行後續的中介軟體的process_view方法
返回response,
2.4、process_exception
執行順序:
按照註冊順序的倒序(在settings.py裡面設定中 從下到上的順序)
何時執行:
檢視函式中丟擲異常的時候才執行
返回值:
返回None,繼續執行後續中介軟體的process_exception
返回response,
2.5、process_template_response
執行順序:
按照註冊順序的倒序(在settings.py裡面設定中 從下到上的順序)
何時執行:
檢視函式執行完,在執行檢視函式返回的響應物件的render方法之前
返回值:
返回None,繼續執行後續中介軟體的process_exception
返回response,