Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python flask:使用全局应用程序对象共享数据_Python_Flask - Fatal编程技术网

python flask:使用全局应用程序对象共享数据

python flask:使用全局应用程序对象共享数据,python,flask,Python,Flask,我正在寻找在flask应用程序的所有视图中共享全局数据的方法 \uuuu init\uuuuu.py from flask import Flask app = Flask(__name__) app.gcp = googleCloudSessionObjectA() from flask import current_app as app @app.route('/abc') def foo(): print(app.gcp) # here it prints the strin

我正在寻找在flask应用程序的所有视图中共享全局数据的方法

\uuuu init\uuuuu.py

from flask import Flask
app = Flask(__name__)
app.gcp = googleCloudSessionObjectA()
from flask import current_app as app

@app.route('/abc')
def foo():
    print(app.gcp)  # here it prints the string representation of A
    app.gcp = googleCloudSessionObjectB() # this one does not change the global app object
    return render_template('base.html')
aview.py

from flask import Flask
app = Flask(__name__)
app.gcp = googleCloudSessionObjectA()
from flask import current_app as app

@app.route('/abc')
def foo():
    print(app.gcp)  # here it prints the string representation of A
    app.gcp = googleCloudSessionObjectB() # this one does not change the global app object
    return render_template('base.html')
导入
当前应用程序
对象后,我希望能够在视图中更改
app.gcp
的值。我希望这个值在整个应用程序中都可用

我做错了什么?

请尝试使用global app.bar,如下例->
为什么不使用操作系统使用会话变量呢?因为实际上我不想存储字符串(“dog”),我想存储一个python对象供全局使用(确切地说,它是google cloud pltform的会话对象)。如果我想在整个flask应用程序中只提供字符串值,我可以使用诸如memcached之类的数据存储。但是我需要用python对象来完成它。你检查过了吗?我知道烧瓶的配置。但是,这与我手头的问题有什么关系?这将如何在
生产中发挥作用?我的意思是对多个
工作者使用
gunicorn
uwsgi
?除此之外,应尽可能忽略全局变量。如果你不知道自己在用它做什么,它们有时会非常痛苦和危险。