我用SQLAlchemy创建了一个烧瓶应用程序。
我在app.py
中初始化了数据库,但我想在另一个文件中使用它:otherfile.py
app.py
app = Flask(__name__)
app.config['JSONIFY_PRETTYPRINT_REGULAR'] = True
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///my_database'
db = SQLAlchemy(app)
print("TEST")
otherfile.py
from app import db
print(db)
但我得到了错误
ImportError: cannot import name 'db'
基本上,我这样做是因为我不想在app.py
中编写SQLAlchemy逻辑,但我想将它保存在另一个文件中
此外,我只想导出变量db
。我不希望当我运行otherfile.py
时,它也运行print("TEST")
,它位于app.py
我看着这些答案,运气不好:
How to share the global app object in flask?
SQLAlchemy
类在初始化时不需要接收app
参数。因此,您可以做的是在otherfile.py
中创建db
对象,并将其导入app.py
,在那里您可以将app
对象与SQLAlchemy.init_app()
一起传递给它app.py
otherfile.py
相关问题 更多 >
编程相关推荐