如何在Flask中共享全局应用程序对象?
我正在使用flask,并尝试执行以下操作。
我已经定义了一个main.py文件,通过它我可以运行我的应用程序,即python main.py
from flask import Flaskfrom view import tags
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
我定义了一个名为view的程序包,在其中将声明不同的view模块,每个模块都有自己的路由。view.tags.py
from flask import Flaskapp = Flask(__name__)
@app.route('/e')
def hello_world2():
return 'Hello World!'
因此,我需要在main.py中具有用于运行服务器的全局应用程序对象,以及在包的视图类中用于注册路由的全局对象。那么,如何创建全局应用程序对象并在所有类之间共享呢?
回答:
可以从flask导入current_app。它存储对全局应用程序对象的引用。
from flask import current_app as appdef home():
return render_template('base.html', name=app.name)
以上是 如何在Flask中共享全局应用程序对象? 的全部内容, 来源链接: utcz.com/qa/434008.html