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