Python AssertionError:sqlalchemy扩展未注册到当前应用程序

Python AssertionError:sqlalchemy扩展未注册到当前应用程序,python,flask,flask-sqlalchemy,Python,Flask,Flask Sqlalchemy,从表单输入数据时出错。 sqlalchemy扩展未注册到当前应用程序。请确保先调用init_app()。 我在app.py文件中初始化了init_app(),如下所示: if __name__ == "__main__": db.create_all() db.init_app(app) 这就是我创建数据库URI的地方: app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///repor

从表单输入数据时出错。
sqlalchemy扩展未注册到当前应用程序。请确保先调用init_app()。

我在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()之前,我曾尝试过初始化,但最终删除了它,因为我意识到我初始化了两次app

我还没有创建
\u init.py\u
文件。是否需要创建
init.py


我也收到了警告,因为SQL\u ALCHEMY\u DATABASE\u URI未设置,尽管我正在设置它。我还使用了4种不同的数据库模型

我所做的是命名一个变量,然后从那里初始化它。我可能不知道我在说什么,但它对我起了作用。把这个放在代码的开头

sqlalchemy = SQLAlchemy()
sqlalchemy.init_app(app)
之后没有问题。

您必须按说明将db.init_app()移出主块。