1. @app.cli.command()
    2. @click.option('--drop', is_flag=True, help='Create after drop.')
    3. def initdb(drop):
    4. """Initialize the database."""
    5. if drop:
    6. click.confirm('This operation will delete the database, do you want to
    7. continue? ', abort=True)
    8. db.drop_all()
    9. click.echo('Drop tables.')
    10. db.create_all()
    11. click.echo('Initialized database.')

    在这个命令函数前,我们使用click提供的option装饰器为命令添加了一个—drop选项,将is_flag参数设为True可以将这个选项声明为布尔值标志(boolean flag)。—drop选项的值作为drop参数传入命令函数,如果提供了这个选项,那么drop的值将是True,否则为False。因为添加—drop选项会直接清空数据库内容,如果需要,也可以通过click.confirm()函数添加一个确认提示,这样只有输入y或yes才会继续执行操作。

    定義完成后,直接flask runserver即可執行

    1. from application import app
    2. import click
    3. ##web server 使用flask runserver即可啓動,需要提前將manager.py設置為FLASK_APP環境變量
    4. @app.cli.command("runserver")
    5. def runserver():
    6. app.run(host="0.0.0.0",port=7755,debug=True)