Django中介軟體相關

2022-08-21 11:03:13 字數 1416 閱讀 9918

詳細:

中介軟體的定義:

wsgi之後 urls.py之前 在全域性 操作django請求和響應的模組!

中介軟體的使用:

5個固定的方法

process_request(self, request)

執行順序:

按照註冊的順序(在settings.py裡面設定中 從上到下的順序)

何時執行:

請求從wsgi拿到之後

返回值:

返回none,繼續執行後續的中介軟體的process_request方法

返回response , 不執行後續的中介軟體的process_request方法

process_response

執行順序:

按照註冊順序的倒序(在settings.py裡面設定中 從下到上的順序)

何時執行:

請求有響應的時候

返回值:

必須返回乙個response物件

process_view(self, request, view_func, view_args, view_kwargs):

執行順序:

按照註冊的順序(在settings.py裡面設定中 從上到下的順序)

何時執行:

在urls.py中找到對應關係之後 在執行真正的檢視函式之前

返回值:

返回none,繼續執行後續的中介軟體的process_view方法

返回response,

process_exception(self, request, exception)

執行順序:

按照註冊順序的倒序(在settings.py裡面設定中 從下到上的順序)

何時執行:

檢視函式中丟擲異常的時候才執行

返回值:

返回none,繼續執行後續中介軟體的process_exception

返回response,

process_template_response(self, request, response)

執行順序:

按照註冊順序的倒序(在settings.py裡面設定中 從下到上的順序)

何時執行:

檢視函式執行完,在執行檢視函式返回的響應物件的render方法之前

返回值:

返回none,繼續執行後續中介軟體的process_exception

返回response,

django呼叫 註冊的中介軟體裡面五個方法的順序:

1. process_request

urls.py

2. process_view

view

3. 有異常就執行 process_exception

4. 如果檢視函式返回的響應物件有render方法,就執行process_template_response

5. process_response

Django 中介軟體

django中的中介軟體是乙個輕量級 底層的外掛程式系統,可以介入django的請求和響應處理過程,修改django的輸入或輸出。中介軟體的執行過程如下圖所示 django在中介軟體中預置了五個方法,這五個方法的區別在於不同的階段執行,對輸入或輸出進行干預,方法如下 def init self pa...

Django中介軟體

給檢視函式加裝飾器判斷使用者是否登入,把沒有登入的請求跳轉到登入頁面,我們通過給幾個特定檢視函式加裝飾器實現了這個需求,但是這樣做比較繁瑣,用django中的中介軟體會比較簡潔 什麼是中介軟體 中介軟體是幫助我們再檢視函式執行之前和執行之後都可以做一些額外的操作,它本質上就是乙個自定義類,類中定義了...

Django中介軟體

什麼是中介軟體?django中的中介軟體是乙個輕量級 底層的外掛程式系統,可以介入django的請求和響應處理過程,修改django的輸入或輸出。中介軟體的設計為開發者提供了一種無侵入式的開發方式,增強了django框架的健壯性。我們可以使用中介軟體,在django處理檢視的不同階段對輸入或輸出進行...