一、说明
Flask-CLI (flask.cli)是 Flask 内置的脚本命令接口,基于 Click 实现的,深入了解请参考 Click 文档(Click 中文文档) 。可以替代 Flask-Script 实现的功能。
flask create_db
flask init_db
二、简单说明click
Click 是 Flask 的开发团队 Pallets 的另一款开源项目,它是用于快速创建命令行的第三方模块。
我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argparse,就好比 requests 相比于 urllib。
Click 对argparse 的主要改进在易用性,使用Click 分为两个步骤:
-
命令行接口
使用 @click.command() 装饰一个函数,使之成为命令行接口;
-
自定义命令行参数
使用 @click.option() || @click.argument() 等装饰函数,为其添加命令行选项等。
总体而言,argument() 装饰器比 option() 功能简单些,后者支持下面的特性:
- 自动提示缺失的输入;
- option 参数可以从环境变量中获取,argument 参数则不行;
- option 参数在 help 输出中有完整的文档,argument 则没有;
而 argument 参数可以接受可变个数的参数值,而 option 参数只能接收固定个数的参数值(默认是 1 个)。
Click 可以设置不同的参数类型,简单类型如 click.STRING,click.INT,click.FLOAT,click.BOOL。
python hello.py create_db
python hello.py init_db
Flask之flask_script(命令行脚本)——@manager.command & @manager.opation
Python Click 学习笔记