python - 如何将 Flask 路由中的数据共享到 Dash 回调
问题描述
我编写了一个 Flask 路由(比如说'/post_data'),通过 POST 请求从远程传感器接收数据。
我想用Dash显示该数据,并带有一些下拉菜单以响应地自定义图形,并在新数据到达 Flask 路由时自动更新。
import dash
import flask
app = dash.Dash(__name__)
app.layout = [
# ... some dash_core_components ...
dcc.Graph(id='mygraph'),
]
server = app.server
@server.route('/post_data', methods=['GET', 'POST'])
def post_data():
if request.method == 'POST':
data = eval(request.data.decode('utf8'))
@app.callback(
[Output('mygraph', 'figure')],
[Input('mydropdown1', 'value'), ...],
)
def update_mygraph(mydropdown1_value, ...):
# QUESTION: how to get data from post_data?
# some elaboration on data based on dropdown values
fig = px.scatter(data, x="x", y="y")
return fig
if __name__ == '__main__':
app.run_server()
我不明白的是:如何与 Dash 回调共享来自 Flask 路由的数据?
我应该将数据集存储在 Flask 会话中吗?那么是否可以在破折号回调中从会话中获取数据集?如何?
解决方案
我想到的唯一方法是:
- 将所有数据写入文件,然后从回调中访问该文件。
- 将所有数据保存到数据库中,然后从回调中访问数据库。
- 也许您可以将数据作为 url 参数传递。在回调中,您可能可以访问烧瓶会话。这只是一个猜想。
另一种解决方案可能只是在同一个仪表板上插入数据......上传组件
推荐阅读
- python - 如何选择多个多边形矢量图层区域内的点?
- javascript - 如何在与从 Google Charts 获取图表相关的服务器上的脚本中提取附加到 URL 的参数?
- keras - 连接具有不同激活的密集层
- angularjs - Angular JS:未知提供者:$mdThemingProviderProvider <- $mdThemingProvider
- amazon-web-services - 调用 CreateTable 操作时发生错误(ResourceInUseException):表已存在:
- strapi - 连接到mysql数据库时管理页面未加载
- sql - Oracle Forms - 如何加快 POST_QUERY 触发器?
- python - 如果 pandas.DatetimeIndex 中存在特定日期的特定数量的数据,则选择数据
- python - sql查询和python函数在asc的字母顺序中排序是否相同?
- haskell - 更正haskell中mergesort和merge的代码