[英]Export variable from app.py to another python file
我用 SQLAlchemy 创建了一个 Flask 应用程序。 我在app.py
初始化了数据库,但我想在另一个文件中使用它: otherfile.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")
其他文件
from app import db
print(db)
但我得到了错误。
导入错误:无法导入名称“db”
基本上,我这样做是因为我不想在app.py
编写 SQLAlchemy 逻辑,但我想将它保存在另一个文件中。
另外,我只想导出变量db
。 我不希望当我运行otherfile.py
,这也运行print("TEST")
这是在app.py
我很幸运地看了这些答案:
SQLAlchemy
类不需要在初始化时接收app
参数。 因此,您可以做的是在您的otherfile.py
创建db
对象并将其导入app.py
,您可以在其中使用SQLAlchemy.init_app()
将app
对象传递给它。
应用程序
from flask import Flask
from otherfile import db
app = Flask(__name__)
app.config['JSONIFY_PRETTYPRINT_REGULAR'] = True
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///my_database'
db.init_app(app)
其他文件
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.