我构建了一个基于 Web 的数据仪表板,它显示 4 个图表 - 每个图表都包含大量数据点。
当访问 URL 端点时,Flask 调用我的 python 脚本,该脚本从 sql server 获取数据,然后开始操作它并最终输出 Bokeh 图。
但是,随着这些图表变大/屏幕上的图表越来越多,网站需要很长时间才能加载 - 因为整个功能必须在显示内容之前运行。
我将如何延迟加载这些? IE。它加载第一个(最重要的图表)并在运行其他图表的函数时显示它,在它们完成运行时显示它们(显示一种加载栏,其中每个图表或其他东西)。
希望获得有关如何实现此方法或类似方法的建议。
谢谢!
最佳答案
我遇到了和你一样的问题。任何类型的 flask 渲染的问题是所有数据都被同时处理并传递给页面(即客户端),通常会花费大量时间。不仅如此,服务器 Web 进程的负载也相当重。
我被迫按照评论建议实现的解决方案是加载带有空白图表的页面,然后在安装它们时访问一个将图表 json 数据返回给客户端的 flask api(通过 JS ajax)。这允许延迟加载图表,并允许数据操作可能在 worker 而不是 web 服务器上执行。
关于python - 使用 python 和 flask 进行延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238200/