2017-01-21 62 views
8

我想在django视图(或模型?)中制作交互式阴谋。假设我想使用selection_histogram example. 我认为散景适合我的需求,因为我有matplot/seaborn,可以重复使用,而且我对JavaScript不太擅长。在django视图中嵌入交互式散景

对于我来说,遵循这个例子没有问题:how to embed standalone bokeh graphs into django templates

据我了解,我需要运行一个背景虚化服务器和make some proxy using nginx

如何能够将一个交互式的背景虚化积成一个Django的看法?

我尝试这样做:

启动的背景虚化服务器

bokeh serve --allow-websocket-origin=127.0.0.1:8001 selection_histogram.py 

更新我的views.py

def simple_chart(request): 

    script = autoload_server(model=None, 
          app_path="/selection_histogram", 
          url="http://localhost:5006/") 


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

视图现在,它是互动的预期。

有没有办法将一些参数传递给散景应用程序?

任何帮助将不胜感激。 Regards

+0

为了澄清您的问题,您是否希望在您的django模板中呈现小部件或表单输入,然后让它们与散景服务器进行通信(例如,更改绘图的比例或数据值)?如果是这样,这与我遇到的问题类似,我认为解决方案在于bokeh.js,但我还没有找到一个好的模式。 –

+1

你好,我看到你在Gitter上的活动。我成功地使用django数据集渲染散景小部件。我的问题是如何让两台服务器互相通话。 –

+0

你能解释一下你的意思吗? 1.这些工具应该可以工作(缩放,平移,悬停等)或者 2.即使没有新的页面请求,数据和图表也应该更新 – renzop

回答

1

您不需要运行一台Bokeh服务器即可在DJANGO中使用Bokeh。您可以将Bokeh导入到您的views.py中。

您需要在模板中加载Bokeh js和css,并渲染由Bokeh创建的组件。它认为this是一个简明的例子。

+1

感谢您的回答。我的问题中提到的例子是一样的。这个简单的例子是“静态”。我可以使用matplolib来做到这一点。我将编辑我的问题更具体。 –

+0

好的,那么我不明白哪种交互需要散景服务器:) –