【问题标题】:Saving Dash layout to html将 Dash 布局保存到 html
【发布时间】:2018-04-05 16:38:59
【问题描述】:

我在破折号布局中绘制了一堆东西。我想将它们保存到 html 文件中,以便稍后查看。当我重新打开保存的 html 文件时,我首先正确地看到了所有内容。但是,在

如何解决这个问题?

谢谢!

【问题讨论】:

  • 您的控制台中有任何内容吗? (在 chrome 中按 f12,单击控制台并刷新)

标签: python html plotly plotly-dash


【解决方案1】:

此解决方案无法完全发挥作用:

您必须完整保存您的网页。
为了防止 javascript 创建任何错误 我已删除 bundle(2).js 文件。

此文件包含函数dash_renderer,它尝试与服务器交互并产生问题。

<footer>
<script id="_dash-config" type="application/json">{"url_base_pathname": "/", "requests_pathname_prefix": "/"}</script>
<script src="./Dash_files/react.min.js"></script>
<script src="./Dash_files/react-dom.min.js"></script>
<script src="./Dash_files/bundle.js"></script>
<script src="./Dash_files/plotly-1.38.0.min.js"></script>
<script src="./Dash_files/bundle(1).js"></script>
<!-- <script src="./Dash_files/bundle(2).js"> --></script>
</footer>

结果与您在 ~1s 内看到的页面相同。

大缺点:情节的互动性丢失了。

【讨论】:

  • 尼尔斯,这太棒了!至少它让我有能力保存以备后用。如果 Dash 在没有检测到服务器的情况下自动执行此操作,那就太好了
  • 我会看看它,也许会在 github 上创建一个提交?
【解决方案2】:

Dash 应用程序layout 被序列化为 JSON,并由 Dash 服务器(Flask 服务器的扩展)提供给前端。 布局中包含的所有 Dash 组件都捆绑为 JS/CSS 文件。这些捆绑包也由 Dash 服务器提供给前端。

没有服务器,就没有人向前端发送 JSON、JS、CSS 包,所以什么都不会渲染。

我不确定为什么您可以在短时间内看到您的应用。我的猜测是 Dash 会在您每次运行时保存应用程序的 PNG 图像。可以将其想象为您在真正的反应式应用出现之前看到的启动画面。

看看这个high-level overview,了解 Dash 如何在后台工作。

【讨论】:

  • 谢谢@jackdbd。我的背景是科学计算而不是网络开发,所以我为我的无知道歉。无论如何我可以保存破折号布局。我知道我可以将 jupyter 笔记本中的多个情节图保存到 html,所以我认为这在 Dash 中应该是可能的。
  • 不用道歉,我也一直觉得自己很笨。无论如何,除非您的布局仅由破折号 html 组件组成,否则我认为您无法以任何方式保存它。长话短说,对于 dash 核心组件 HTML 是不够的。也可以在这里查看:github.com/plotly/dash/issues/44#issuecomment-311154651
  • 您知道一种将破折号布局保存到 html 的方法吗?
猜你喜欢
  • 2020-05-25
  • 1970-01-01
  • 2018-04-30
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
相关资源
最近更新 更多