python - 将 Flask 与 SQLAlchemy 和 Dash 一起使用

标签 python flask flask-sqlalchemy plotly-dash

我正在尝试构建一个网络应用程序来显示一些数据。到目前为止,我已经使用 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 数据库?

谢谢!

最佳答案

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

您的代码应如下所示:

db = SQLAlchemy(server)

希望这对您有所帮助。

关于python - 将 Flask 与 SQLAlchemy 和 Dash 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53999681/

相关文章:

python - flask /SQLAlchemy 错误 : TypeError: Incompatible collection type: [model] is not list-like

sqlalchemy: session 提交错误 - 'SessionMaker' 对象没有属性 '_model_changes'

python - Tensorflow feed_dict 问题

GMS 3.4.x 中的 Python - 使用 matplotlib.pyplot : Could not find or load the Qt platform plugin for windows 时 DM 崩溃

python - 导入错误: No module named 'code.helper'

javascript - 将变量从 Javascript 传递到 Flask,然后加载模板

python - 如何在单个 Flask 应用程序中使用 Plotly-Dash 创建多个仪表板?

python - 使用seaborn绘制pandas数据框系列

python - 在 flask 中使用 SqlAlchemy 模型

python - 蒸馏器迁移误差 flask