Класс Click
Класс Click представляет собой основной инструмент библиотеки click, которая позволяет создавать команды для терминала. Во Flask данный класс используется для регистрации пользовательских CLI-команд через метод cli приложения или через декоратор app.cli.command. Первым параметром обычно передаётся имя команды, которое будет использоваться при вызове в терминале. Также поддерживаются параметры, опции и аргументы, которые описываются с помощью декораторов option и argument.
Синтаксис
import click
@click.command(name)
@click.option(...)
@click.argument(...)
def func(...):
...
Пример
Давайте создадим простую команду hello, которая выводит приветствие в терминал:
import click
from flask import Flask
app = Flask(__name__)
@app.cli.command('hello')
def hello():
click.echo('hello')
Результат выполнения команды в терминале:
Пример
Давайте добавим опцию --name, которая принимает значение из командной строки:
import click
from flask import Flask
app = Flask(__name__)
@app.cli.command('greet')
@click.option('--name', default='user', help='User name')
def greet(name):
click.echo('hello ' + name)
Результат выполнения команды с опцией:
Пример
Давайте создадим группу команд с помощью класса Group, который также относится к библиотеке click:
import click
from flask import Flask
app = Flask(__name__)
@app.cli.group('user')
def user():
pass
@user.command('create')
@click.argument('name')
def create(name):
click.echo('create ' + name)
@user.command('delete')
@click.argument('name')
def delete(name):
click.echo('delete ' + name)
Результат выполнения команд группы: