2016-09-22 35 views
1

我與內部日誌記錄系統連接,我想從Flask的teardown_request回調中獲得當前響應的status_codehttp://flask.pocoo.org/docs/0.11/api/#flask.Flask.teardown_request。我喜歡它可以保證被調用,並且我可以獲得我需要的所有其他信息。如何在Flask的teardown_request中訪問當前響應的status_code?

我可以訪問當前的響應,它是status_code如果我連接到request_finished信號:

def request_finished_listener(sender, response): 
    print(response.status_code) 

request_finished.connect(request_finished_listener) 

,但我想如果可能的話做teardown_request內我的所有數據收集。

回答

2

你不能。在響應生成後,teardown_request被稱爲清除,它無法訪問響應。如果您需要訪問Flask內的響應,則應使用request_finished信號或after_request修飾符。 teardown_request僅用於清理資源。

如果您需要記錄響應並絕對不想使用request_finishedafter_request,則必須將Flask應用程序包裝在WSGI中間件中。

相關問題