如何在Flask中共享全局应用程序对象?

我正在使用flask,并尝试执行以下操作。

我已经定义了一个main.py文件,通过它我可以运行我的应用程序,即python main.py

from flask import Flask

from 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 Flask

app = Flask(__name__)

@app.route('/e')

def hello_world2():

return 'Hello World!'

因此,我需要在main.py中具有用于运行服务器的全局应用程序对象,以及在包的视图类中用于注册路由的全局对象。那么,如何创建全局应用程序对象并在所有类之间共享呢?

回答:

可以从flask导入current_app。它存储对全局应用程序对象的引用。

from flask import current_app as app

def home():

return render_template('base.html', name=app.name)

以上是 如何在Flask中共享全局应用程序对象? 的全部内容, 来源链接: utcz.com/qa/434008.html

回到顶部