Метод group класса AppGroup
Метод group применяется к экземпляру класса AppGroup
и создаёт дочернюю группу команд. Первым параметром передаётся имя
группы, вторым - необязательная функция-обёртка, а третьим - словарь
с дополнительными настройками. Метод возвращает новый экземпляр
AppGroup, к которому можно привязывать команды через декоратор
command или создавать вложенные группы.
Синтаксис
group(name, [invoke_without_command], [**kwargs])
Пример
Давайте создадим группу приложения и добавим в неё дочернюю группу
user с двумя командами:
import click
from flask import Flask
from flask.cli import AppGroup
app = Flask(__name__)
cli = AppGroup('admin')
user_cli = cli.group('user')
@user_cli.command('create')
def user_create():
click.echo('user created')
@user_cli.command('delete')
def user_delete():
click.echo('user deleted')
app.cli.add_command(cli)
Результат выполнения команды flask admin user create:
user created
Пример
Давайте создадим вложенную группу второго уровня и выведем список доступных команд:
import click
from flask import Flask
from flask.cli import AppGroup
app = Flask(__name__)
cli = AppGroup('db')
migrate_cli = cli.group('migrate')
@migrate_cli.command('run')
def migrate_run():
click.echo('migration started')
@migrate_cli.command('rollback')
def migrate_rollback():
click.echo('migration rolled back')
app.cli.add_command(cli)
Результат выполнения команды flask db migrate run:
migration started