我是django和bokeh的新手。 我试图渲染一个简单的散景图,这些散景图由几个选项支持,这些选项基本上允许我在django Web应用程序中调整我的情节内容。
当从script
获取的div
和bokeh.embed.components()
元素作为上下文变量传递给模板时,将呈现这些图。
当我在bokeh.io.vform
对象中保存小部件和绘图时,同样没有工作。
我通过指定bokeh.io.show()
执行bokeh.plotting.output_file()
时输出正确,但我试图在我的网络应用程序中运行此输出。
我错过了什么吗?还是有其他方法可以满足我的意图吗?
我只是渲染一个散景小部件的代码如下:
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表单元素。但并没有发生。
答案 0 :(得分:1)
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