【问题标题】:Add normal Tornado pages to Bokeh server application将普通 Tornado 页面添加到 Bokeh 服务器应用程序
【发布时间】:2017-10-05 01:52:33
【问题描述】:

我可以从 Bokeh 服务器应用程序提供普通 HTML 页面吗?使用 Bokeh 而不是 Tornado 这样做会增加任何额外成本吗?

我有一个散景服务器正在运行。大多数情况下,我将它用于散景服务器页面。但是,我还想使用更传统的 HTML 工具制作其他一些页面。我知道我可以创建一个只使用没有任何数字的模板的 Bokeh 应用程序,但这似乎有点矫枉过正。这样做的成本是多少?还有其他选择吗?例如,我可以在下面访问较低级别的 Tornado HTTP 服务器并使用它在同一端口上托管我的普通页面吗?

【问题讨论】:

    标签: bokeh


    【解决方案1】:

    从 0.12.10 开始,Bokeh 服务器在 ._torando 属性上维护一个 tornado.web.application

    >>> my_bokeh_server._tornado
    <bokeh.server.tornado.BokehTornado at 0x7f104e7a0940>
    

    正如Adding new handler to running python tornado server 中提到的,您可以将新的 RequestHandlers 添加到正在运行的 Tornado 应用程序中

    from tornado import web
    class FooHandler(web.RequestHandler):
        def get(self):
            self.write('foo')
    
    my_bokeh_server._tornado.add_handlers(r'.*', [
        ('/foo', FooHandler)
    ])
    

    【讨论】:

    • 请不要提倡使用私有属性。 :) 它们可能随时更改,无需警告或弃用。如果您以编程方式创建Server,则可以传递extra_patterns,如下所示:github.com/bokeh/bokeh/blob/master/examples/howto/server_embed/…
    • 您愿意将此作为答案提交,以便我将其标记为正确吗?
    • 我宁愿你换这个
    猜你喜欢
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多