我正在拼命地将一个正在运行的散景小程序嵌入到烧瓶中,并且找不到合适的方法来执行此操作。我查看了所有示例,但是找不到包含更新数据能力的示例(最好的示例:sliders_applet)。
如果我没弄错的话,我确实需要散景服务器才能更改数据(使用滑块等)。以这种方式启动applet是有效的,例如:
bokeh-server --script sliders_app.py
但我找不到合适的,或者至少是一种将sliders_app嵌入烧瓶的工作方式。由于应该可以使用多个小程序,所以在散景服务器启动时指定一个小程序似乎并不干净。
我很乐意感谢任何帮助 - 散景看起来对我来说是一个很棒的工具。
答案 0 :(得分:10)
另一个答案没有描述如何嵌入Bokeh服务器应用程序(它使用components
嵌入独立的Bokeh文档)。
首先,您可以在https://demo.bokeh.org/
上看到许多实时示例对于嵌入应用程序,有两种常用选项:
autoload_server
后者通常使用如下:
script = autoload_server(model=None,
app_path="/apps/slider",
url="https://demo.bokehplots.com")
这将返回一个类似下面的<script>
标记,您可以将其放入烧瓶HTML响应中,无论您希望应用出现在哪里:
<script
src="https://demo.bokehplots.com/apps/slider/autoload.js?bokeh-autoload-element=c5c9bdb5-40e8-46a2-9bf0-40a9d396ce97"
id="c5c9bdb5-40e8-46a2-9bf0-40a9d396ce97"
data-bokeh-model-id=""
data-bokeh-doc-id=""
></script>
最后,需要注意的是,默认情况下,Bokeh服务器会选择相当保守的网络配置。您需要启动Bokeh服务器,并将--allow-websocket-origin
命令行选项设置为您将散景应用程序嵌入到的任何主机。