使用Flask与SQLAlchemy和Dash

3

我正在尝试构建一个用于显示数据的Web应用程序。到目前为止,我已经使用SQL数据库设置了Flask框架。现在我正在尝试设置Dash仪表板。我按照以下方式创建了2个应用程序和数据库:

server = Flask(__name__)
app = Dash(__name__, server=server, url_base_pathname='/dashboard/')
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app) # create database

然而,这会引发错误:

Traceback (most recent call last):
  File "/Users/annabernbaum/OneDrive - Imperial College London/Documents/Work/Year 4/Sensing and IoT/Project/SIOT_Project_DE4/Coursework_2/run.py", line 1, in <module>
    from LightDogs import app
  File "/Users/annabernbaum/OneDrive - Imperial College London/Documents/Work/Year 4/Sensing and IoT/Project/SIOT_Project_DE4/Coursework_2/LightDogs/__init__.py", line 12, in <module>
    db = SQLAlchemy(app) # create database
  File "/Users/annabernbaum/anaconda3/lib/python3.6/site-packages/flask_sqlalchemy/__init__.py", line 683, in __init__
    self.init_app(app)
  File "/Users/annabernbaum/anaconda3/lib/python3.6/site-packages/flask_sqlalchemy/__init__.py", line 799, in init_app
    app.extensions['sqlalchemy'] = _SQLAlchemyState(self)
AttributeError: 'Dash' object has no attribute 'extensions'

有人知道如何解决这个问题并成功地从Dash应用程序创建SQLAlchemy数据库吗?
谢谢!

完整的堆栈跟踪可能会很有帮助。 - Mikhail Berlinkov
嗨,Mikhail,我现在已经添加了完整的回溯。 - Anna Bernbaum
为什么不使用 Flask 应用程序初始化 SQLAlchemy,即 server.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'; db = SQLAlchemy(server) - Mikhail Berlinkov
1个回答

2

使用Flask应用程序而不是Dash应用程序初始化数据库。

您的代码应如下所示:

db = SQLAlchemy(server)

最初的回答。希望这能帮到你。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接