一尘不染

在flask中嵌入bokeh应用

flask

我拼命试图将可正常使用的bokeh小程序嵌入烧瓶中,但找不到合适的方法来执行此操作。我浏览了所有示例,但找不到包含更新数据功能的示例(最佳示例:sliders_applet)。

如果我没记错的话,我确实需要bokeh服务器能够更改数据(使用滑块等)。以这种方式启动小程序有效,例如:

bokeh-server --script sliders_app.py

但是我找不到将sliders_app嵌入flask的正确方法,或者至少是一种可行的方法。并且由于应该可以使用多个applet,所以对我来说,在bokeh服务器启动时指定一个applet似乎也不干净。

我很高兴得到你的帮助-散景对我来说似乎是个不错的工具。


阅读 1146

收藏
2020-04-06

共1个答案

一尘不染

另一个答案没有描述如何嵌入Bokeh服务器应用程序(它用于components嵌入独立的Bokeh文档)。

首先,你可以在以下网址看到很多现场示例:https : //demo.bokeh.org/

对于嵌入应用程序,有两个常用选项:

  • iframe(效果很好),或者
  • server_document

后者通常是这样使用的:

from bokeh.embed import server_document
script = server_document("https://demo.bokeh.org/sliders")

这将返回<script>与以下标签类似的标签,你可以将其放入烧瓶的HTML响应中,无论你希望该应用出现在何处:

<script
    src="https://demo.bokeh.org/sliders/autoload.js?bokeh-autoload-element=1000&bokeh-app-path=/sliders&bokeh-absolute-url=https://demo.bokeh.org/sliders"
    id="1000">
</script>

最后,需要注意的是,默认情况下,Bokeh服务器选择的是相当保守的网络配置。你需要通过将–allow-websocket-origin命令行选项设置为将bokeh应用程序嵌入到的主机来启动Bokeh服务器。

2020-04-06