bokeh.application.handlers.handler#

为 Bokeh 应用程序处理器类提供一个基类。

当 Bokeh 服务器会话启动时,Bokeh 服务器会要求应用程序提供一个新的文档来服务该会话。为此,应用程序首先创建一个新的空文档,然后将此新文档传递到其每个处理器的 modify_document 方法。当所有处理器都更新了文档后,它将用于服务用户会话。

下面是一个自定义处理程序的示例概要,该处理程序可能会根据某些数据库中的信息修改文档

class DatabaseHandler(Handler):
    """ A Bokeh Application handler to initialize Documents from a database

    """

    def modify_document(self, doc: Document) -> None:
        # do some data base lookup here to generate 'plot'

        # add the plot to the document (i.e modify the document)
        doc.add_root(plot)
class Handler[source]#

为 Bokeh 应用程序构建新的 Bokeh 文档提供了一种机制。

modify_document(doc: Document) None[source]#

以指定的方式修改应用程序文档。

当 Bokeh 服务器会话启动时,Bokeh 服务器会要求应用程序提供一个新的文档来服务该会话。为此,应用程序首先创建一个新的空文档,然后将此文档传递到其每个处理器的 modify_document 方法。当所有处理器都更新了文档后,它将用于服务用户会话。

子类必须实现此方法

参数:

doc (Document) – 要就地更新的 Bokeh 文档

返回值:

文档

on_server_loaded(server_context: ServerContext) None[source]#

在服务器首次启动时执行代码。

子类可以实现此方法,以提供服务器启动后但在创建任何会话之前所需的任何一次性初始化。

参数:

server_context (ServerContext)

on_server_unloaded(server_context: ServerContext) None[source]#

在服务器干净退出时执行代码。(在停止服务器的 IOLoop 之前。)

子类可以实现此方法,以提供服务器退出之前所需的任何一次性拆卸。

参数:

server_context (ServerContext)

警告

在实践中,此代码可能不会运行,因为服务器通常会被信号终止。

async on_session_created(session_context: SessionContext) None[source]#

在创建新会话时执行代码。

子类可以实现此方法,以提供在为会话调用 modify_doc 之前所需的任何每个会话初始化。

参数:

session_context (SessionContext)

async on_session_destroyed(session_context: SessionContext) None[source]#

在会话销毁时执行代码。

子类可以实现此方法,以提供会话销毁时所需的任何每个会话的拆卸。

参数:

session_context (SessionContext)

process_request(request: HTTPServerRequest) dict[str, Any][source]#

处理传入的 HTTP 请求,返回一个字典,其中包含要添加到 session_context 的其他数据。

参数:

request – HTTP 请求

返回值:

要包含在会话上下文中的 JSON 可序列化数据的字典。

static_path() str | None[source]#

返回应用程序特定静态资源的路径(如果适用)。

url_path() str | None[source]#

返回默认的 URL 路径(如果适用)。

Handler 子类可以选择实现此方法,以告知 Bokeh 应用程序应将其安装在哪个 URL 上。

如果多个 Handler 指定了 url_path,则应用程序将使用其 Handler 列表中第一个 Handler 的值。

property error: str | None#

如果 Handler 失败,则可能包含相关的错误消息。

property error_detail: str | None#

如果 Handler 失败,则可能包含回溯或其他详细信息。

property failed: bool#

如果 Handler 无法修改文档,则为 True