将Flask与SQLAlchemy和Dash结合使用

时间:2019-01-01 23:15:44

标签: python flask flask-sqlalchemy plotly-dash

我正在尝试构建一个Web应用程序以显示一些数据。到目前为止,我已经使用SQL数据库建立了Flask框架。我现在正试图建立一个Dash仪表板。我创建两个应用程序和数据库,如下所示:

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数据库吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

您的代码应如下所示:

<button
   (click)="change()">
   change
</button>

希望这会有所帮助。