一 引入Manager
使用flask的方便之处在于可以使用大量的扩展功能,如数据库和用户认证都是通过扩展功能实现。打算开启flask时支持命令行选项,我们需要引入flask-script扩展。
from flask_script import Manager
app=Flask(__name__)
manager=Manager(app)
...
if __name__=='__main__':
manager.run()
flask_script声明了一个Manager类,它以程序实例作为参数,传给构造函数。这个方法也常用与其他的扩展,其创造的对象可以在各个扩展中使用。
二 通过Manager启动服务器
manager.run()封装了app.run()的功能,以使其支持启动时的命令行参数.通过在终端中输入下面的命令,来启动服务器。
python test.py runserver
这种启动方式,服务器默认在本机上,只接受来自服务器所在的计算机发起的链接。若需要同网中其他计算机的链接服务器,则需要加上--host 0.0.0.0 选项。
python test.py runserver --host 0.0.0.0
三 增加自定义命令
使用Manager还可以增加自定义的命令:
@manager.command
def print_str():
print 'hello world'
上面,为manager实例增加了一个print_str的命令,我们在终端按照以下方式调用,即可打印出字符串:
hyman@hyman-VirtualBox:~/projects/flaskTs$ python test.py print_str
hello world
Github位置:
https://github.com/HymanLiuTS/flaskTs
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL06