@app.cli.command()
@click.option('--drop', is_flag=True, help='Create after drop.')
def initdb(drop):
"""Initialize the database."""
if drop:
click.confirm('This operation will delete the database, do you want to
continue? ', abort=True)
db.drop_all()
click.echo('Drop tables.')
db.create_all()
click.echo('Initialized database.')
在这个命令函数前,我们使用click提供的option装饰器为命令添加了一个—drop选项,将is_flag参数设为True可以将这个选项声明为布尔值标志(boolean flag)。—drop选项的值作为drop参数传入命令函数,如果提供了这个选项,那么drop的值将是True,否则为False。因为添加—drop选项会直接清空数据库内容,如果需要,也可以通过click.confirm()函数添加一个确认提示,这样只有输入y或yes才会继续执行操作。
定義完成后,直接flask runserver即可執行
from application import app
import click
##web server 使用flask runserver即可啓動,需要提前將manager.py設置為FLASK_APP環境變量
@app.cli.command("runserver")
def runserver():
app.run(host="0.0.0.0",port=7755,debug=True)