一尘不染

如何将独立的散景图嵌入到Django模板中

django

我想通过django框架在我的Web应用程序中显示bokeh库提供的图形,但是我不想使用bokeh-server可执行文件,因为这不是好方法。那有可能吗?如果是,该怎么做?


阅读 424

收藏
2020-03-28

共1个答案

一尘不染

使用Fabio Pliger建议的Embedding Bokeh Plots文档示例,可以在Django中做到这一点:

views.py文件中,我们输入:

from django.shortcuts import render
from bokeh.plotting import figure
from bokeh.resources import CDN
from bokeh.embed import components

def simple_chart(request):
    plot = figure()
    plot.circle([1,2], [3,4])

    script, div = components(plot, CDN)

    return render(request, "simple_chart.html", {"the_script": script, "the_div": div})

urls.py文件中,我们可以输入:

from myapp.views import simple_chart 
...
...
...
url(r'^simple_chart/$', simple_chart, name="simple_chart"),
...
...

在模板文件中,simple_chart.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>

    {{ the_div|safe }}

    {{ the_script|safe }}
</body>
</html> 

而且有效。

2020-03-28