web-dev-qa-db-ja.com

Flask要求コンテキストが利用可能かどうかを確認します

Flaskリクエスト中にログを記録するときに、コンテキスト変数(requestsession)から一部のデータをログに記録したいのですが、そうでない場合はデフォルトの動作を使用します。

try ... exceptlogging.formatterブロックを使用しています。リクエストのコンテキストを確認するより良い方法はありますか?

try:
    record.user = session['user_name']
    record.very_important_data = request.super_secret
except Exception:
    record.user = None
25
ubombi

使用する - has_request_context または has_app_context

if has_request_context():
    # request is active

または、current_appgrequest、およびsessionはすべてLocalProxyのインスタンスです。プロキシがバインドされていない場合、ブール値として扱われると、Falseになります。

if request:
    # request is active
39
davidism