从表单输入数据时出错。The sqlalchemy extension was not registered to the current application. Please make sure to call init_app() first.
我已经初始化了 app.py 文件中的init_app()
,如下所示:
if __name__ == "__main__":
db.create_all()
db.init_app(app)
这是我创建数据库 URI 的地方:
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///report.sqlite3'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config.from_object(config.DevelopementConfig)
我在使用 app.run(( 之前尝试过初始化,但最终删除了它,因为我意识到我正在初始化应用程序两次。
我还没有创建_init.py_
文件。创建init.py
是否需要
?我也收到警告,因为尽管我正在设置它SQL_ALCHEMY_DATABASE_URI但尚未设置。我还使用了 4 种不同的数据库模型。
我所做的是命名一个变量,然后从那里初始化它。我可能不知道我在说什么,但它对我有用。把它放在代码的开头。
sqlalchemy = SQLAlchemy()
sqlalchemy.init_app(app)
之后没有问题。