当前位置: 首页 > 知识库问答 >
问题:

如何共享从Flask路由到Dash回调的数据[重复]

祁雪峰
2023-03-14

我编程了一个烧瓶路由(比方说“/post_data”),通过POST请求从远程传感器接收数据。

我想用带有下拉菜单的破折号来显示数据,以响应地定制图形,并在新数据到达路径时自动更新。

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会话中吗?那么是否可以在破折号回调中从会话中获取数据集?怎样?

共有1个答案

於彬
2023-03-14

我想到的唯一方法是:

  1. 将所有数据写入文件,然后从回调访问该文件
  2. 将所有数据保存到数据库中,然后从回调访问数据库
  3. 也许您可以将数据作为url参数传递。在回调中,您可能可以访问flask会话。这只是一个猜测

另一种解决方案是在同一个仪表板上插入数据。。。上载组件

 类似资料:
  • 调用第三方接口获取的用户信息。我想保存下来。然后再提供个查询用户信息的接口。 然后我再获取的时候赋值。 userInfo.setUserInfo(userinfo); 然后再提供个get接口 看着好像没问题。set的时候能打印到值。get的时候就没了。

  • 如何从keycloak服务器获取access_token到我的授权组件。授权url如下所示: http://localhost:8081/auth/realms/external/protocol/openid-connect/auth?client_id=myapp&redirect_uri=http%3a%2f%2flocalhost%3a4200%2fauth&response_type=t

  • 问题内容: 从共享库/ dll调用函数的最简单,最安全的方法是什么?我对在Linux上执行此操作最感兴趣,但是如果有一种与平台无关的方法会更好。 有人可以提供示例代码来显示如何在用户将自己的版本编译到共享库的情况下执行以下工作吗? 顺便说一句,我知道如何编译共享库(),我只需要知道一种在运行时加载它的简单方法。 问题答案: 注意: 您正在库调用周围传递C 对象(在这种情况下为STL字符串)。有 *

  • 我现在已经在camel中做了一些小项目,但有一件事我很难理解,那就是当在camel路线上消费时,如何处理大数据(这不适合内存)。 我有一个包含几GB数据的数据库,我想使用骆驼进行路由。显然,将所有数据读入内存不是一种选择。 如果我是作为一个独立的应用程序这样做的,我会有代码来分页数据并将块发送到我的JMS enpoint。我想使用骆驼,因为它提供了一个很好的模式。如果我从文件中消费,我可以使用流(

  • 问题内容: 我想在每次执行Flask路由时执行一个异步函数。为什么函数从不执行? 我还尝试将阻塞调用放在单独的线程中。但是它仍然没有调用该函数。 问题答案: 你可以将一些异步功能整合到Flask应用中,而不必完全将其转换为异步。 这将阻止Flask响应,直到异步函数返回为止,但是它仍然允许你做一些聪明的事情。我已经使用此模式使用aiohttp并行执行许多外部请求,然后在完成它们之后,我回到传统的f

  • 现代Web框架使用路由技术来帮助用户记住应用程序URL。 无需从主页导航即可直接访问所需页面。 Flask中的装饰器用于将URL绑定到函数。 例如 - 这里,URL 规则绑定到函数。 因此,如果用户访问URL : ,就会调用函数,这个函数中的执行的结果输出将在浏览器中呈现。 应用程序对象的函数也可用于将URL与函数绑定,如上例所示,使用。