我想通过django框架在我的Web应用程序中显示bokeh库提供的图形,但是我不想使用bokeh-server可执行文件,因为这不是好方法。那有可能吗?如果是,该怎么做?
使用Fabio Pliger建议的Embedding Bokeh Plots文档示例,可以在Django中做到这一点:
在views.py文件中,我们输入:
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文件中,我们可以输入:
urls.py
from myapp.views import simple_chart ... ... ... url(r'^simple_chart/$', simple_chart, name="simple_chart"), ... ...
在模板文件中,simple_chart.html我们将有:
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>
而且有效。