Flask中的应用范围变量?

Pas*_*day 13 python flask

Flask中是否存在应用程序范围的python变量?我想在用户和共享数据缓存之间实现一些原始消息传递.当然,可以通过数据库实现这一点,但我想知道可能存在无db且可能更快的方法.理想情况下,如果共享变量是一个实时python对象,但我的需求也会满足字符串和整数.

编辑:补充(非工作)示例

from flask import g

@app.route('/store/<name>')
def view_hello(name=None):
    g.name = name
    return "Storing " + g.name

@app.route("/retrieve")
def view_listen():
    n = g.name
    return "Retrieved: " + n
Run Code Online (Sandbox Code Playgroud)

在尝试检索g.name时,会触发错误:AttributeError:'_ RequestGlobals'对象没有属性'name'

小智 -8

因为 Flask 0.10flask.g是最好的选择。

在早期版本中,flask.g 存储在请求上下文中,并在请求之间清除。如果您使用的是旧版本,您应该将应用程序级别的内容存储在flask.current_app

  • 该文档称“flask.g”是一个特殊的对象,确保它仅对活动请求有效,并且将为每个请求返回不同的值。显然这不是这个问题的正确答案。 (3认同)