如何为 Flask 命令组设置帮助消息?
How to set a help message for a Flask command group?
我正在尝试改编 Flask documentation 中的示例以在组中创建自定义命令:
import click
from flask import Flask
from flask.cli import AppGroup
app = Flask(__name__)
user_cli = AppGroup('user')
@user_cli.command('create')
@click.argument('name')
def create_user(name):
...
app.cli.add_command(user_cli)
$ flask user create demo
这似乎工作正常,但是当我 运行 flask --help
我看到列出的命令没有任何帮助消息,例如:
Commands:
user
foo
db Perform database migrations.
如何向一组命令(在本例中为 'user'
)添加帮助消息?
使用short_help
参数。 AppGroup
继承自 Group
,后者继承自 MultiCommand
,后者继承自 Command
。请参阅 Command
的单击 source code。
例如:
import click
from flask import Flask
from flask.cli import AppGroup
user_cli = AppGroup('user', short_help="Adds a user")
@user_cli.command('create')
@click.argument('name')
def create_user(name):
print(name)
app = Flask(__name__)
app.cli.add_command(user_cli)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
给出以下输出(Windows PyCharm 终端):
(flask_cli_group) D:\Paul\PycharmProjects\flask_cli_group>flask
Usage: flask [OPTIONS] COMMAND [ARGS]...
A general utility script for Flask applications.
Provides commands from Flask, extensions, and the application. Loads the
application defined in the FLASK_APP environment variable, or from a
wsgi.py file. Setting the FLASK_ENV environment variable to 'development'
will enable debug mode.
> set FLASK_APP=hello.py
> set FLASK_ENV=development
> flask run
Options:
--version Show the flask version
--help Show this message and exit.
Commands:
routes Show the routes for the app.
run Run a development server.
shell Run a shell in the app context.
user Adds a user
(flask_cli_group) D:\Paul\PycharmProjects\flask_cli_group>
如果您使用蓝图创建 CLI 命令,请为 top-level 添加 blueprint_obj.cli.short_help
帮助:
bp_database = Blueprint('bp_database', __name__, cli_group='database')
bp_database.cli.short_help = 'Database utilities'
输出:
Commands:
database Database utilities
run Run a development server.
shell Run a shell in the app context.
我正在尝试改编 Flask documentation 中的示例以在组中创建自定义命令:
import click
from flask import Flask
from flask.cli import AppGroup
app = Flask(__name__)
user_cli = AppGroup('user')
@user_cli.command('create')
@click.argument('name')
def create_user(name):
...
app.cli.add_command(user_cli)
$ flask user create demo
这似乎工作正常,但是当我 运行 flask --help
我看到列出的命令没有任何帮助消息,例如:
Commands:
user
foo
db Perform database migrations.
如何向一组命令(在本例中为 'user'
)添加帮助消息?
使用short_help
参数。 AppGroup
继承自 Group
,后者继承自 MultiCommand
,后者继承自 Command
。请参阅 Command
的单击 source code。
例如:
import click
from flask import Flask
from flask.cli import AppGroup
user_cli = AppGroup('user', short_help="Adds a user")
@user_cli.command('create')
@click.argument('name')
def create_user(name):
print(name)
app = Flask(__name__)
app.cli.add_command(user_cli)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
给出以下输出(Windows PyCharm 终端):
(flask_cli_group) D:\Paul\PycharmProjects\flask_cli_group>flask
Usage: flask [OPTIONS] COMMAND [ARGS]...
A general utility script for Flask applications.
Provides commands from Flask, extensions, and the application. Loads the
application defined in the FLASK_APP environment variable, or from a
wsgi.py file. Setting the FLASK_ENV environment variable to 'development'
will enable debug mode.
> set FLASK_APP=hello.py
> set FLASK_ENV=development
> flask run
Options:
--version Show the flask version
--help Show this message and exit.
Commands:
routes Show the routes for the app.
run Run a development server.
shell Run a shell in the app context.
user Adds a user
(flask_cli_group) D:\Paul\PycharmProjects\flask_cli_group>
如果您使用蓝图创建 CLI 命令,请为 top-level 添加 blueprint_obj.cli.short_help
帮助:
bp_database = Blueprint('bp_database', __name__, cli_group='database')
bp_database.cli.short_help = 'Database utilities'
输出:
Commands:
database Database utilities
run Run a development server.
shell Run a shell in the app context.