在Django模板中渲染散景小部件

我是
django和bokeh的新手.

我试图渲染一个简单的散景图,由几个选项支持,基本上允许我在django Web应用程序中调整我的情节内容.

当从bokeh.embed.components()获取的script和div元素作为上下文变量传递给模板时,将呈现这些图.
当我在bokeh.io.vform对象中保存一个小部件和一个绘图时,同样的方法不起作用.

通过指定bokeh.plotting.output_file()执行bokeh.io.show()时,我得到正确的输出,但我正在尝试在我的Web应用程序中运行它.
我错过了什么吗?或者是否有任何其他方法符合我的意图?

我只是渲染一个散景小部件的代码如下:

views.py

#django imports 
from bokeh.embed import components
from bokeh.plotting import figure
from bokeh.io import vform
from bokeh.models.widgets import Select
def test(request):
    s = Select(title="test", value="a", options=['a','b','c'])
    script,div = components(s)
    return render(request,'test.html',RequestContext(request,{'script':script,'div':div}))

test.html

<html>
<head>
      <link href="http://cdn.pydata.org/bokeh/release/bokeh-0.11.1.min.css" rel="stylesheet" type="text/css">
       <script src="http://cdn.pydata.org/bokeh/release/bokeh-0.11.1.min.js"></script>
</head>
{% load staticfiles %}
<body>
      {{ div | safe }}
      {{ script | safe }}
</body>
</html>

我希望在从django的test()启动test.html时呈现一个select表单元素.但是没有发生.

最佳答案 BokehJS最近被拆分为单独的部分,以提供更灵活的使用选项,具体取决于实际使用的库的哪些部分.因为在许多情况下通常会自动处理加载资源,所以在文档中突出显示这种划分是无意间忽略的.但是,了解嵌入非常重要.更新文档存在问题,但您需要知道的是,如果您使用小部件,则现在还需要从CDN加载其他脚本:

http://cdn.pydata.org/bokeh/release/bokeh-widgets-0.11.1.min.js
http://cdn.pydata.org/bokeh/release/bokeh-widgets-0.11.1.min.css
点赞