检查 Flask 请求上下文是不是可用
Posted
技术标签:
【中文标题】检查 Flask 请求上下文是不是可用【英文标题】:Check if Flask request context is available检查 Flask 请求上下文是否可用 【发布时间】:2017-03-10 03:34:48 【问题描述】:我想在 Flask 请求期间记录时从上下文变量(request
、session
)记录一些数据,但如果不是,请使用默认行为。
我在logging.formatter
中使用try ... except
块。有没有更好的方法来检查请求上下文?
try:
record.user = session['user_name']
record.very_important_data = request.super_secret
except Exception:
record.user = None
【问题讨论】:
【参考方案1】:使用has_request_context
或has_app_context
。
if has_request_context():
# request is active
或者,current_app
、g
、request
和 session
都是 LocalProxy
的实例。如果未绑定代理,则将其视为布尔值时为False
。
if request:
# request is active
【讨论】:
以上是关于检查 Flask 请求上下文是不是可用的主要内容,如果未能解决你的问题,请参考以下文章