W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
僅僅創(chuàng)建一個(gè)請(qǐng)求上下文,您仍然不能運(yùn)行請(qǐng)求發(fā)送前通常會(huì)運(yùn)行的代碼。 如果您在將連接數(shù)據(jù)庫(kù)的任務(wù)分配給發(fā)送請(qǐng)求前的函數(shù)調(diào)用,或者在當(dāng)前 用戶(hù)并沒(méi)有被儲(chǔ)存在 ?g
? 對(duì)象里等等情況下,您可能無(wú)法 訪問(wèn)到數(shù)據(jù)庫(kù)。
您可以很容易的自己完成這件事,僅僅手動(dòng)調(diào)用 ?preprocess_request()
? 函數(shù)即可:
>>> ctx = app.test_request_context()
>>> ctx.push()
>>> app.preprocess_request()
請(qǐng)注意, ?preprocess_request()
? 函數(shù)可能會(huì)返回 一個(gè)響應(yīng)對(duì)象。這時(shí),忽略它就好了。
要關(guān)閉一個(gè)請(qǐng)求,您需要在請(qǐng)求后的調(diào)用函數(shù)(由 ?process_response()
? 函數(shù)激發(fā))運(yùn)行之前耍一些小小的把戲:
>>> app.process_response(app.response_class())
<Response 0 bytes [200 OK]>
>>> ctx.pop()
被注冊(cè)為 ?teardown_request()
? 的函數(shù)將會(huì)在 上下文環(huán)境出棧之后自動(dòng)執(zhí)行。所以這是用來(lái)銷(xiāo)毀請(qǐng)求上下文(如數(shù)據(jù)庫(kù) 連接等)資源的最佳地點(diǎn)。
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)系方式:
更多建議: