quart.blueprints 模块#
- class quart.blueprints.Blueprint(*args: Any, **kwargs: Any)#
Bases:
Blueprint
蓝图是应用程序属性的集合。
应用程序属性包括路由、错误处理程序以及请求前后的函数。它有助于生成模块化代码,因为它允许在蓝图中定义属性,从而推迟将这些属性添加到应用程序的操作。
- add_websocket(rule: str, endpoint: str | None = None, view_func: WebsocketCallable | None = None, **options: t.Any) None #
在应用程序中添加 websocket URL 规则。
这旨在直接在应用程序上使用。示例用法,
def websocket_route(): ... app.add_websocket('/', websocket_route)
- 参数:
rule – 要路由的路径,应以
/
开头。endpoint – 可选的端点名称,如果不存在,则使用函数名称。
view_func – 返回响应的可调用对象。
defaults –
要自动提供的变量字典,用于为路由提供更简单的默认路径,例如,允许使用
/book
而不是/book/0
,@app.websocket('/book', defaults={'page': 0}) @app.websocket('/book/<int:page>') def book(page): ...
host – 此路由的完整主机名(应包含子域,如果需要) - 不能与子域一起使用。
subdomain – 此特定路由的子域。
strict_slashes – 严格匹配路径中存在的尾部斜杠。将重定向叶节点(无斜杠)到分支(有斜杠)。
- after_app_serving(func: T_after_serving) T_after_serving #
在应用程序中添加一个服务后函数。
这旨在用作装饰器,并且具有与
after_serving()
相同的参数。示例用法,blueprint = Blueprint(__name__) @blueprint.after_app_serving def after(): ...
- after_app_websocket(func: T_after_websocket) T_after_websocket #
在应用程序中添加一个 websocket 后函数。
这旨在用作装饰器,并且具有与
after_websocket()
相同的参数。它适用于注册此蓝图的应用程序的所有请求。示例用法,blueprint = Blueprint(__name__) @blueprint.after_app_websocket def after(): ...
- after_websocket(func: T_after_websocket) T_after_websocket #
添加一个 websocket 后函数。
这旨在用作装饰器,如果用于装饰同步函数,则该函数将被包装在
run_sync()
中,并在线程执行器中运行(返回包装后的函数)。示例用法,@app.after_websocket async def func(response): return response
- 参数:
func – websocket 后函数本身。
- before_app_serving(func: T_before_serving) T_before_serving #
在应用程序中添加一个服务前函数。
这旨在用作装饰器,并且具有与
before_serving()
相同的参数。示例用法,blueprint = Blueprint(__name__) @blueprint.before_app_serving def before(): ...
- before_app_websocket(func: T_before_websocket) T_before_websocket #
在应用程序中添加一个 websocket 前函数。
这旨在用作装饰器,并且具有与
before_websocket()
相同的参数。它适用于注册此蓝图的应用程序的所有请求。示例用法,blueprint = Blueprint(__name__) @blueprint.before_app_websocket def before(): ...
- before_websocket(func: T_before_websocket) T_before_websocket #
添加一个 websocket 前函数。
这旨在用作装饰器,如果用于装饰同步函数,则该函数将被包装在
run_sync()
中,并在线程执行器中运行(返回包装后的函数)。示例用法,@app.before_websocket async def func(): ...
- 参数:
func – websocket 前函数本身。
- get_send_file_max_age(filename: str | None) int | None #
由
send_file()
用于确定给定文件路径的max_age
缓存值(如果未传递)。默认情况下,这将返回
SEND_FILE_MAX_AGE_DEFAULT
,来自current_app
的配置。这默认为None
,它告诉浏览器使用条件请求而不是定时缓存,这通常更可取。请注意,这与 Quart 类中的相同方法重复。
- async open_resource(path: bytes | str | PathLike, mode: str = 'rb') AiofilesContextManager[None, None, AsyncBufferedReader] #
打开一个文件进行读取。
使用以下方式
async with await app.open_resource(path) as file_: await file_.read()
- teardown_app_websocket(func: T_teardown) T_teardown #
向应用程序添加一个拆卸 websocket 函数。
这旨在用作装饰器,并具有与
teardown_websocket()
相同的参数。它适用于注册到此蓝图的应用程序的所有请求。使用示例:blueprint = Blueprint(__name__) @blueprint.teardown_app_websocket def teardown(): ...
- teardown_websocket(func: T_teardown) T_teardown #
添加一个拆卸 websocket 函数。这旨在用作装饰器,如果用于装饰同步函数,则该函数将被包装在
run_sync()
中并在线程执行器中运行(返回包装后的函数)。使用示例:.. code-block:: python@app.teardown_websocket async def func()
…
- 参数:
**func** – 拆卸 websocket 函数本身。
**name** – 可选的蓝图键名称。
- websocket(rule: str, **options: Any) Callable[[T_websocket], T_websocket] #
向应用程序添加一个 websocket。
这旨在用作装饰器,如果用于装饰同步函数,则该函数将被包装在
run_sync()
中,并在线程执行器中运行(返回包装后的函数)。示例用法,@app.websocket('/') async def websocket_route(): ...
- 参数:
rule – 要路由的路径,应以
/
开头。endpoint – 可选的端点名称,如果不存在,则使用函数名称。
defaults –
要自动提供的变量字典,用于为路由提供更简单的默认路径,例如,允许使用
/book
而不是/book/0
,@app.websocket('/book', defaults={'page': 0}) @app.websocket('/book/<int:page>') def book(page): ...
host – 此路由的完整主机名(应包含子域,如果需要) - 不能与子域一起使用。
subdomain – 此特定路由的子域。
strict_slashes – 严格匹配路径中存在的尾部斜杠。将重定向叶节点(无斜杠)到分支(有斜杠)。
- while_app_serving(func: T_while_serving) T_while_serving #
向应用程序添加一个 while serving 函数。
这旨在用作装饰器,并具有与
while_serving()
相同的参数。使用示例:@blueprint.while_serving async def func(): ... # Startup yield ... # Shutdown