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方法。当所有处理器都更新了文档后,该文档将用于服务用户会话。子类必须实现此方法
- Parameters:
文档 (Document) – 一个Bokeh文档,用于就地更新
- Returns:
Document
- on_server_loaded(server_context: ServerContext) None[source]#
当服务器首次启动时执行代码。
子类可以实现此方法,以提供服务器启动后但在创建任何会话之前所需的任何一次性初始化。
- Parameters:
server_context (ServerContext)
- on_server_unloaded(server_context: ServerContext) None[source]#
当服务器正常退出时执行代码。(在停止服务器的
IOLoop之前。)子类可以实现此方法,以提供在服务器退出之前必要的任何一次性清理操作。
- Parameters:
server_context (ServerContext)
警告
实际上,这段代码可能不会运行,因为服务器通常会被信号终止。
- async on_session_created(session_context: SessionContext) None[source]#
当创建新会话时执行代码。
子类可以实现此方法,以提供在调用
modify_doc之前所需的任何会话初始化。- Parameters:
session_context (SessionContext)
- async on_session_destroyed(session_context: SessionContext) None[source]#
当会话被销毁时执行代码。
子类可以实现此方法,以提供在会话销毁时所需的任何会话级别的清理操作。
- Parameters:
session_context (SessionContext)
- process_request(request: HTTPServerRequest) dict[str, Any][source]#
处理传入的HTTP请求,返回一个字典,其中包含要添加到session_context的额外数据。
- Parameters:
request – HTTP 请求
- Returns:
一个包含在会话上下文中的JSON可序列化数据的字典。