官方文档 :http://flask-script.readthedocs.io/en/latest/
创建运行命令:
首先,创建一个Python模板运行命令脚本,可起名为manager.py;
导入我们需要的模块flask_script(如若并未安装请执行: pip install flask_script),安装完成后即可导入。
后面导入flask模块也一样;
Manager只有一个参数-Flask实例,也可以是一个函数或其他的返回Flask实例;
调用manager.run()启动Manager实例接收命令行中的命令

flask_script模块中有几个我们常用的创建命令的方法,即创建Command子类、使用@command修饰符、使用@option修饰符;
1,Command 子类
command子类必须定义一个run方法。
举例:创建一个Hello命令加入manage实例中

由上可见我们定义了一个Hello类继承了Command,即在此时Hello成为了Command的子类,
我们定义一个run方法,这是必须的!
自定义命令一:
manager.add_command('hello', Hello()),把子类Hello定义命令为hello
自定义命令二:
manager.add_command('runserver', Server(use_debugger=True, host='0.0.0.0', port=1211)),这里我由于默认的5000端口被占用了,所以自定义了一个1211端口号。
如若没被占用即可这样写:manager.add_command('runserver',Server()),默认的5000端口
依次运行Python manage.py runserver 和 python manage.py hello

2,@command修饰符
我们使用@Command修饰符就比较简单了

输出结果如下:

3,@option
复杂情况下,建议使用@option;
可以有多个@option选项参数;

执行结果如下:

网友评论