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 可序列化数据的字典。