在 Flask 对象上存储对象

tim*_*kro 4 flask

我需要在我的flask.Flask实例上存储一个对象。天真的方法只是分配这样的属性。

app = flask.Flask(__name__)
app.my_object = MyObject()
Run Code Online (Sandbox Code Playgroud)

我打算稍后在这样的应用程序上下文中引用它:

flask.current_app.my_object
Run Code Online (Sandbox Code Playgroud)

我怀疑这种方法是线程保存的。Flask 是否鼓励这样做的正确方法?如果没有,您将如何安全地实施上述方法?

tim*_*kro 5

我最终使用了配置对象。

app.config['MY_OBJECT'] = MyObject()
Run Code Online (Sandbox Code Playgroud)

您可以在请求中像这样引用它。

current_app.config['MY_OBJECT']
Run Code Online (Sandbox Code Playgroud)