是否可以使用Bootstrap,Jiinja或类似的东西在Bokeh上布置图块和小部件?

时间:2017-03-13 09:32:00

标签: python twitter-bootstrap layout jinja2 bokeh

我有一个使用Bokeh库的应用程序,将其用作Web服务器应用程序。我使用了制表符,widgetdbox,gridplots来布局所有元素。我在文档页面上看过this,但是我发现这种方式存在很多限制。

是否有一种简单的方法可以使用模板布置所有这些元素?也许使用Jinja和Bootstrap?这可能吗?

一个简单的例子可以帮助我很多。

更新(2018年7月11日)

使用0.13.0 Version of Bokeh

发布了模板功能
  

以下是一个最小的例子。假设应用程序创建了两个   具有名称属性集的根:

p1 = figure(..., name="scatter")

p2 = figure(..., name="line")

curdoc().add_root(p1)
curdoc().add_root(p2)
  

然后可以在模板中按名称引用这些根,并且   传递给embed宏将它们放在任何需要的位置:

{% extends base %}

<!-- goes in head -->
{% block preamble %}
    <link href="app/static/css/custom.min.css" rel="stylesheet">
{% endblock %}

<!-- goes in body -->
{% block contents %}
    <div> {{ embed(roots.scatter) }} </div>
    <div> {{ embed(roots.line) }} </div>
{% endblock %}

1 个答案:

答案 0 :(得分:1)

从Bokeh 0.12.5开始,仅通过components函数支持单个Bokeh文档(即没有Bokeh服务器)的单个元素的模板。 Bokeh服务器应用程序元素的类似功能仍然是一个悬而未决的问题:#4986 Allow elements to be placed in server templates。目前,所有元素(图,小部件等)都必须采用散景布局。