W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
僅僅創(chuàng)建一個請求上下文,您仍然不能運行請求發(fā)送前通常會運行的代碼。 如果您在將連接數(shù)據(jù)庫的任務分配給發(fā)送請求前的函數(shù)調用,或者在當前 用戶并沒有被儲存在 g 對象里等等情況下,您可能無法 訪問到數(shù)據(jù)庫。
您可以很容易的自己完成這件事,僅僅手動調用 preprocess_request() 函數(shù)即可:
>>> ctx = app.test_request_context()
>>> ctx.push()
>>> app.preprocess_request()
請注意, preprocess_request() 函數(shù)可能會返回 一個響應對象。這時,忽略它就好了。
要關閉一個請求,您需要在請求后的調用函數(shù)(由 process_response() 函數(shù)激發(fā))運行之前耍一些小小的把戲:
>>> app.process_response(app.response_class())
<Response 0 bytes [200 OK]>
>>> ctx.pop()
被注冊為 teardown_request() 的函數(shù)將會在 上下文環(huán)境出棧之后自動執(zhí)行。所以這是用來銷毀請求上下文(如數(shù)據(jù)庫 連接等)資源的最佳地點。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: