quart.cli 模块#

class quart.cli.AppGroup(name: str | None = None, commands: MutableMapping[str, Command] | Sequence[Command] | None = None, **attrs: Any)#

基础类:Group

这与普通的 click Group 工作方式类似,但它更改了 command() 装饰器的行为,以便它自动将函数包装在 with_appcontext() 中。

不要与 QuartGroup 混淆。

command(*args: Any, **kwargs: Any) Callable#

这与普通 click.Group 上同名方法的工作原理完全相同,但它将回调包装在 with_appcontext() 中,如果通过 with_appcontext=True 启用它。

group(*args: Any, **kwargs: Any) Callable#

用于声明和将组附加到组的快捷装饰器。这与 group() 采用相同的参数,并通过调用 add_command() 立即将创建的组注册到此组。

要自定义使用的组类,请设置 group_class 属性。

版本 8.1 中的更改: 此装饰器可以在没有括号的情况下应用。

版本 8.0 中的更改: 添加了 group_class 属性。

exception quart.cli.NoAppException(message: str, ctx: Context | None = None)#

基础类:UsageError

class quart.cli.QuartGroup(add_default_commands: bool = True, create_app: Callable[..., Quart] | None = None, add_version_option: bool = True, load_dotenv: bool = True, set_debug_flag: bool = True, **extra: Any)#

基础类:AppGroup

get_command(ctx: Context, name: str) Command#

给定上下文和命令名称,如果存在,此函数将返回 Command 对象,否则返回 None

list_commands(ctx: Context) list[str]#

返回子命令名称的列表,以其应该出现的顺序排列。

make_context(info_name: str | None, args: list[str], parent: Context | None = None, **extra: Any) Context#

此函数在给定信息名称和参数时将启动解析并创建一个新的 Context。但它不会调用实际的命令回调。

要快速自定义使用的上下文类而无需覆盖此方法,请设置 context_class 属性。

参数:
  • info_name – 此调用信息的名称。通常,这是脚本或命令的最具描述性的名称。对于顶级脚本,它通常是脚本的名称;对于下面的命令,它是命令的名称。

  • args – 要解析的参数,作为字符串列表。

  • parent – 如果可用,则为父上下文。

  • extra – 传递给上下文构造函数的额外关键字参数。

版本 8.0 中的更改: 添加了 context_class 属性。

parse_args(ctx: Context, args: list[str]) list[str]#

给定一个上下文和一个参数列表,这将创建解析器并解析参数,然后根据需要修改上下文。这由 make_context() 自动调用。

class quart.cli.ScriptInfo(app_import_path: str | None = None, create_app: Callable[..., Quart] | None = None, set_debug_flag: bool = True)#

基类:object

load_app() Quart#
quart.cli.find_app_by_string(module: ModuleType, app_name: str) Quart#
quart.cli.find_best_app(module: ModuleType) Quart#
quart.cli.get_version(ctx: Any, param: Any, value: Any) None#
quart.cli.load_dotenv(path: str | PathLike | None = None) bool#

按优先级顺序加载“dotenv”文件以设置环境变量。如果已设置 env var,则不会覆盖它,因此列表中较早的文件优先于较晚的文件。如果未安装 `python-dotenv`_,则这是一个空操作。 .. _python-dotenv: theskumar/python-dotenv :param path: 在此位置加载文件,而不是搜索。 :return: 如果加载了文件,则为 True

quart.cli.locate_app(module_name: str, app_name: str) Quart | None#
quart.cli.main() None#
quart.cli.prepare_import(path: str) str#

给定一个文件名,这将尝试计算 python 路径,将其添加到搜索路径并返回预期​​的实际模块名称。

quart.cli.with_appcontext(fn: Callable | None = None) Callable#