W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在 Flask 中,請(qǐng)求處理時(shí)發(fā)生一個(gè)錯(cuò)誤時(shí)會(huì)發(fā)生什么?這個(gè)特殊的行為在 0.7 中 變更了,因?yàn)槲覀兿胍?jiǎn)單地得知實(shí)際發(fā)生了什么。新的行為相當(dāng)簡(jiǎn)單:
before_request()
? 上綁定的函數(shù)。 如果這些函數(shù)中的某個(gè)返回了一個(gè)響應(yīng),其它的函數(shù)將不再被調(diào)用。任何情況 下,無論如何這個(gè)返回值都會(huì)替換視圖的返回值。before_request()
? 上綁定的函數(shù)沒有返回一個(gè)響應(yīng), 常規(guī)的請(qǐng)求處理將會(huì)生效,匹配的視圖函數(shù)有機(jī)會(huì)返回一個(gè)響應(yīng)。after_request()
? 上綁定的函數(shù)適當(dāng)?shù)靥鎿Q或修改它。teardown_request()
? 上綁定的函 數(shù)。這總會(huì)發(fā)生,即使在一個(gè)未處理的異常拋出后或是沒有請(qǐng)求前處理器執(zhí)行過 (例如在測(cè)試環(huán)境中你有時(shí)會(huì)想不執(zhí)行請(qǐng)求前回調(diào))。現(xiàn)在錯(cuò)誤時(shí)會(huì)發(fā)生什么?在生產(chǎn)模式中,如果一個(gè)異常沒有被捕獲,將調(diào)用 500 internal server 的處理。在生產(chǎn)模式中,即便異常沒有被處理過,也會(huì)往上冒 泡拋給給 WSGI 服務(wù)器。如此,像交互式調(diào)試器這樣的東西可以提供有用的調(diào)試信息。
在 0.7 中做出的一個(gè)重大變更是內(nèi)部服務(wù)器錯(cuò)誤不再被請(qǐng)求后回調(diào)傳遞處理,而且 請(qǐng)求后回調(diào)也不再保證會(huì)執(zhí)行。這使得內(nèi)部的調(diào)度代碼更簡(jiǎn)潔,易于定制和理解。
新的綁定于銷毀請(qǐng)求的函數(shù)被認(rèn)為是用于代替那些請(qǐng)求的最后絕對(duì)需要發(fā)生的事。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: