散景0.13使用Django从组件转移到curdoc

时间:2018-07-30 09:34:09

标签: django bokeh

这里(https://bokeh.github.io/blog/2018/6/13/release-0-13-0/)提到现在我们可以使用curdoc()代替组件。

我尝试移动以下代码

view.py:

script, div = components(PlotView().make_plot(), CDN)
context['plot_script'] = script
context['plot_div'] = div

template.html:

{% if plot_script %}
{{ plot_script|safe }}
{% endif %}

{% if plot_div %}
{{ plot_div|safe }}
{% endif %}

链接中提供的curdoc示例。但是模板文件{{ embed(roots.region) }}中的这一行对于django没有意义。

1 个答案:

答案 0 :(得分:1)

  

但是模板文件{{ embed(roots.region) }}中的这一行对于Django没有意义。

是的。就像文档中指定的那样,这是Jinja。在代码块之前,它说:

  

然后,可以在您自己的 Jinja模板块中引用这些根,如下所示:

     

(...)

基本上,您可以通过三种选择来使它起作用:

  1. 您可以安装Jinja作为模板引擎,如this answer中所述;
  2. 您可以编写自定义的 Django模板过滤器(然后像{{ roots.region|embed }}一样调用它;或
  3. 您可以执行-这可能是最“ Djangonic ”的方式,在视图中进行处理。