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[源代码]#

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

modify_document(doc: Document) None[源代码]#

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

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

子类必须实现此方法

参数:

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

返回:

Document

on_server_loaded(server_context: ServerContext) None[源代码]#

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

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

参数:

server_context (ServerContext)

on_server_unloaded(server_context: ServerContext) None[源代码]#

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

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

参数:

server_context (ServerContext)

警告

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

async on_session_created(session_context: SessionContext) None[源代码]#

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

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

参数:

session_context (SessionContext)

async on_session_destroyed(session_context: SessionContext) None[源代码]#

在会话销毁时执行代码。

子类可以实现此方法,以提供在会话销毁时所需的任何会话清理。

参数:

session_context (SessionContext)

process_request(request: HTTPServerRequest) dict[str, Any][源代码]#

处理传入的 HTTP 请求,返回要添加到 session_context 的附加数据字典。

参数:

request – HTTP 请求

返回:

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

static_path() str | None[源代码]#

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

url_path() str | None[源代码]#

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

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

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

property error: str | None#

如果处理程序失败,则可能包含相关的错误消息。

property error_detail: str | None#

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

property failed: bool#

如果处理程序未能修改文档,则为 True