Django4.0 中間件-異常處理

2022-03-16 17:47 更新

Django 自動(dòng)轉(zhuǎn)換視圖引發(fā)的異常,或者帶有錯(cuò)誤狀態(tài)代碼的特定 HTTP 響應(yīng)內(nèi)的中間件引發(fā)的異常。某些異常( ?Certain exceptions? )被轉(zhuǎn)換為 4xx 狀態(tài)代碼,而未知異常被轉(zhuǎn)換為 500 狀態(tài)代碼。

這個(gè)變換發(fā)生在每個(gè)中間件的前后(你可以把它想象成洋蔥每層中間的薄膜),因此每個(gè)中間件總是可以依賴(lài)于從調(diào)用它的 ?get_response ?回調(diào)中獲得某種類(lèi)型的HTTP響應(yīng)。中間件不需要擔(dān)心它們對(duì) ?get_response ?的調(diào)用包裝在 ?try?/?except ?里,也不需要擔(dān)心處理稍后的中間件或視圖引發(fā)的異常。即使鏈中的下一個(gè)中間件引發(fā)了 Http404 異常,比如中間件不會(huì)查看異常,相反,它會(huì)得到一個(gè)帶有?404 status_code? 的 ?HttpResponse ?對(duì)象。

您可以將 ?DEBUG_PROPAGATE_EXCEPTIONS ?設(shè)置為 ?True ?以跳過(guò)此轉(zhuǎn)換并向上傳播異常。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)