@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 tocontinue? ', 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 appimport 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)
