Django 中介軟體

2022-08-11 03:54:22 字數 911 閱讀 8188

首先看一下django的生命週期圖

中介軟體處在wsgiref和路由系統之間,也就是說所有從瀏覽器傳送到伺服器的請求都必須經過中介軟體。

而中介軟體的作用又是什麼呢?

中介軟體是介於request與response處理之間的一道處理過程,相對比較輕量級,並且在全域性上改變django的輸入與輸出。因為改變的是全域性,所以需要謹慎實用,用不好會影響到效能

而中介軟體到底是什麼呢?

中介軟體其實就是乙個類,這個類中一共有5個方法,分別是

process_request:請求來的時候從上往下依次執行每乙個中介軟體裡面的process_request

process_response :響應走的時候會從下往上依次執行每乙個中介軟體裡面的process_response方法

process_view:路由匹配成功執行檢視之前自動觸發(從上往下依次執行)

process_exception:當檢視函式報錯了,自動觸發(從下往上依次執行)

process_template_response:檢視函式返回的物件有乙個render()方法

(或者表明該物件是乙個templateresponse物件或等價方法)(從下往上依次執行)

中介軟體的執行流程

我們特可以自己寫乙個中介軟體來驗證一下

首先在專案根目錄建立乙個py檔案

建立完成後到settings檔案中註冊中介軟體

得到結果

Django 中介軟體

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

Django中介軟體

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

Django中介軟體

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