bokeh.application.handlers.directory#

提供一个 Bokeh 应用程序处理器,通过运行指定目录中 main.pymain.ipynb 文件中的代码来构建文档。

该目录还可以选择包含

  • 一个 server_lifecyle.py 模块,用于为应用程序和会话提供生命周期回调。

  • 一个 static 子目录,其中包含要提供的特定于应用程序的静态资源。

  • 一个 theme.yaml 文件,其中包含要自动应用于所有新文档的 Bokeh 主题。

  • 一个 templates 子目录,其中包含应用程序显示模板

完整的目录布局可能如下所示

myapp
   |
   +---main.py
   +---server_lifecycle.py
   +---static
   +---theme.yaml
   +---templates
        +---index.html
class DirectoryHandler(*, filename: str | PathLike[str], argv: list[str] = [])[source]#

加载一个应用程序目录,该目录修改一个文档。

__init__(*, filename: str | PathLike[str], argv: list[str] = []) None[source]#
关键词

filename (str) : 应用程序目录的路径,其中包含 “main.py” 或 “main.ipynb”

argv (list[str], optional) : 字符串参数列表,可作为 sys.argv 提供给 main.py

modify_document(doc: Document) None[source]#

执行配置的 main.pymain.ipynb 以修改文档。

此方法还将搜索应用程序目录以查找任何主题或模板文件,并在找到它们时自动使用它们配置文档。

on_server_loaded(server_context: ServerContext) None[source]#

当服务器首次启动时,执行 on_server_unloaded` 来自 server_lifecycle.py(如果已定义)。

参数:

server_context (ServerContext)

on_server_unloaded(server_context: ServerContext) None[source]#

当服务器干净退出时(在停止服务器的 IOLoop 之前),执行来自 server_lifecycle.pyon_server_unloaded(如果已定义)。

参数:

server_context (ServerContext)

警告

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

on_session_created(session_context: SessionContext) Coroutine[Any, Any, None][source]#

当创建新会话时,执行来自 server_lifecycle.pyon_session_created(如果已定义)。

参数:

session_context (SessionContext)

on_session_destroyed(session_context: SessionContext) Coroutine[Any, Any, None][source]#

当会话被销毁时,执行来自 server_lifecycle.pyon_session_destroyed(如果已定义)。

参数:

session_context (SessionContext)

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

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

参数:

request – HTTP 请求

返回:

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

url_path() str | None[source]#

配置目录路径的基名称的最后一个路径组件。

property error: str | None#

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

property error_detail: str | None#

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

property failed: bool#

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

property safe_to_fork: bool#

Bokeh 服务器是否仍然可以安全地 fork 新的工作进程。

如果已运行配置的代码(脚本、笔记本等),则为 False