安装烧瓶扩展:ext = Ext(app) 与 Ext(app)

Installing flask extension: ext = Ext(app) versus Ext(app)

我正在按照教程学习 Flask Web 开发。目前,我的应用程序的前几行是:

from flask import Flask, render_template
from flask_bootstrap import Bootstrap

app = Flask(__name__)

bootstrap = Bootstrap(app)

但是,当我将 bootstrap = Bootstrap(app) 更改为 Bootstrap(app) 时,没有任何问题。那么将 Bootstrap 实例存储在一个变量中的目的是什么,它不会在其余代码中使用?

使用您当前的代码,确实没有必要将实例保存到变量中,

但实际上,您会创建 Bootstrap 实例而不传递 app 实例,然后在某些初始化方法中,您会调用 [=20] 的 init_app 方法=] 实例用 app 初始化它,像这样:

bootstrap = Bootstrap()

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])

    bootstrap.init_app(app)

    return app 

这还将包括其他工具的所有其他实例,例如 Flask-SQLALchemy、Moment、Mail...等