【问题标题】:Embeding bokeh plot into a template (django)将散景图嵌入模板(django)
【发布时间】:2017-11-06 05:00:26
【问题描述】:

我正在尝试将散景图嵌入到模板 (home.html) 中,但执行代码后没有显示任何内容。 这是代码。

views.py(所有包都被导入)

默认主页(请求):

s = [1,4,6,8]
h = [1,5,9,8]

p = figure(plot_width=600, plot_height=600)
p.vbar(x=s, width=0.5, bottom=0,
       top=h, color="black")

script, div = components(p, CDN)
return render(request, 'home.html', {'div': div, 'script': script})

home.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Experiment with Bokeh</title>
    <script src="http://cdn.bokeh.org/bokeh/release/bokeh-0.8.1.min.js"></script>
    <link rel="stylesheet" href="http://cdn.bokeh.org/bokeh/release/bokeh-0.8.1.min.css">
</head>
<body>
    <h1>hello</h1>

    {{ div|safe }}

    {{ script|safe }}


</body>
</html>

最后什么都不显示,没有错误信息,但是页面完全空白

请帮忙!!

【问题讨论】:

  • Bokeh 0.8.1(您在 html 中作为脚本加载)是一个相当旧的版本。您是否有理由使用它而不是更新的东西,例如最新的 0.12.5 版本?
  • 能不能也打开浏览器开发者控制台看看有什么错误信息?
  • @LukeCanavan 您的版本正在运行,我找不到,文档中提到的最新版本是 0.12.0 .. .5 还可以;;谢谢

标签: django bokeh


【解决方案1】:

您正在从 CDN 加载 旧版 BokehJS:

<script src="http://cdn.bokeh.org/bokeh/release/bokeh-0.8.1.min.js"></script>
<link rel="stylesheet" href="http://cdn.bokeh.org/bokeh/release/bokeh-0.8.1.min.css">

0.8.1 版本现在已经几年了。相比之下,您使用的 vbar 字形方法是最近才添加的。您需要确保您在模板中加载的 BokehJS 资源的版本实际上与您正在使用的 Bokeh 库的版本相匹配。

【讨论】:

  • 我尝试了文档中提到的版本(0.12.0),它也不起作用,但是 0.12.5 已经完美运行了。谢谢!!
  • 文档实际上给出了一个通用示例:&lt;link href="http://cdn.pydata.org/bokeh/release/bokeh-x.y.z.min.css" rel="stylesheet" type="text/css"&gt; 然后将0.12.0 仅显示为 “例如,使用这个版本” 但总是如此版本需要匹配。如果有一些方法可以使文档中的内容更清晰,请告诉我们。
猜你喜欢
  • 2015-06-13
  • 2020-07-17
  • 2019-02-02
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-02
  • 2019-01-01
  • 2019-07-16
相关资源
最近更新 更多