【问题标题】:How to export a python-highcharts chart for use in flask or django?如何导出 python-highcharts 图表以在烧瓶或 django 中使用?
【发布时间】:2023-04-07 00:23:01
【问题描述】:

这确实是问题的全部,但我正在使用 python-highcharts 构建类似 this jsfiddle example 的东西,以便包含在 Python Flask 应用程序中。我可以让它在 Jupyter notebook 中工作,从那里我可以将它保存到 html 文件或将其导出为 iframe 或 div 代码块。但我无法让这些在烧瓶 html 页面中工作。烧瓶页面中的包含块如下所示:

<p>
{% if result != None %}
<div id="my-chart"></div>
<script type="text/javascript">
  {{result|safe}}
</script>
{% endif %}
</p>

以及相关的标题部分:

<script src="//code.highcharts.com/stock/highstock.js"></script>
<script src="//code.highcharts.com/highcharts-more.js"></script>
<script src="//code.highcharts.com/modules/exporting.js"></script>

我已经设法让它与pandas-highcharts 一起工作,但这样我就无法通过 dict-to-json-to-browser 路径发送工具提示格式化 javascript 函数......所以解决这两个问题都会很棒。

J.

【问题讨论】:

  • 好的,那么什么不适合您? result 中有什么,HTML 中生成了什么?
  • @PawełFus 问题不在于 highcharts 库,而在于我正在使用的 python 接口。如果我使用 pandas-highcharts,我可以巧妙地将

标签: python json highcharts


【解决方案1】:

首先:

可以(几乎)阻止在 HTML 中编写 JS 函数!

您应该坚持的首要原则之一是分离静态文件。更多关于here

您应该只使用 Jinja2/DjangoTemplatingLanguage 标记(如 this)将变量传递到您的脚本中,并将您的所有 javascript 功能写入您单独的 .js 文件中,然后按照您的示例将其与其他脚本一起导入:

<script src="//code.highcharts.com/stock/highstock.js"></script>
<script src="//code.highcharts.com/highcharts-more.js"></script>
<script src="//code.highcharts.com/modules/exporting.js"></script>
<script src="{{ static_url }}/js/my-highstock-project.js"></script>

这样你有很好的代码分离,它也(有点)更安全。

这导致我们手头的问题;正在导入...

其次: HighCharts 需要在 jQuery 运行之前实现。这可能是你的问题。

要导入jQuery,请将其包含在您的标题中:

<script src="https://code.jquery.com/jquery-3.1.1.js"></script>

【讨论】:

    猜你喜欢
    • 2014-12-08
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    相关资源
    最近更新 更多