我希望使用Python 3.x实现一个动态的基于Web的仪表板(类似于R的Shiny)。
从我所读和在YouTube上看到的来看,Bokeh似乎很有前途。
不清楚的是,何时何地需要Bokeh服务器和Flask / Django服务器?它们是否相互补充?还是我可以使用其中任意一个?它们是否都会提供相同的服务?
server_document
生成一个<script>
标签,您可以将其模板化到您的页面中,这将在页面中嵌入来自Bokeh服务器的应用程序<iframe>
将来自Bokeh服务器的URL嵌入页面中任何一种方法都可以正常工作。根据您的部署环境的复杂程度,可能需要执行更多的“devops-y”类型的操作,以在代理或负载均衡器后面使用Bokeh服务器等。 运行Bokeh服务器部分的用户指南提供了更多信息,供任何需要深入了解这些细节的人参考。
如果您要将来自Bokeh服务器的应用程序嵌入到另一个网页中,则Bokeh服务器确实需要运行以提供该应用程序!如何实现这一点是一个单独的问题,有几种方法可以做到:
作为外部进程启动,并使用类似于supervisord
的工具进行管理。可以在https://github.com/bokeh/demo.bokeh.org中查看一个完整的示例部署。
通过启动自己的Tornado IOLoop
,将Bokeh服务器“嵌入”到您的Flask/Django/任何应用程序中。您可以在examples/howto/server_embed
中看到这种技术的一个示例。此外,这可能应该被认为是相当高级的用法。