bokeh.application.handlers.function#

提供一个 Bokeh 应用处理器,通过运行指定的 Python 函数来构建文档。

此处理器不会被 Bokeh 服务器命令行工具使用,但如果用户希望以编程方式嵌入 Bokeh 服务器,它通常很有用。

def make_doc(doc: Document):
    # do work to modify the document, add plots, widgets, etc.
    return doc

app = Application(FunctionHandler(make_doc))

server = Server({'/bkapp': app}, io_loop=IOLoop.current())
server.start()

有关此技术的完整示例,请参阅 examples/server/api

class FunctionHandler(func: Callable[[Document], None], *, trap_exceptions: bool = False)[source]#

一个接受普通 Python 函数以用于修改 Bokeh 文档的处理器。

例如,以下代码使用一个函数配置处理器,该函数将一个空图添加到文档中。

def add_empty_plot(doc: Document):
    p = figure(x_range=(0, 10), y_range=(0, 10))
    doc.add_root(p)
    return doc

handler = FunctionHandler(add_empty_plot)

此处理器可以在应用程序上配置,并且每次创建新会话时,应用程序都会运行此函数。

__init__(func: Callable[[Document], None], *, trap_exceptions: bool = False) None[source]#
参数:
  • func (callable) –

    一个用于修改和返回 Bokeh 文档的函数。该函数应具有以下形式:

    def func(doc: Document):
        # modify doc
        return doc
    

    并且它应该在就地进行任何修改后返回传入的文档。

  • trap_exceptions (bool) – 是否捕获并记录 func 中的异常,或允许其传播。

modify_document(doc: Document) None[source]#

执行配置的 func 来修改文档。

此方法首次执行后,safe_to_fork 将返回 False

property safe_to_fork: bool#

Bokeh 服务器是否仍然可以安全地派生新的工作进程。

如果已调用 modify_doc,则为 False