可以对flask应用做一些统一的操作
flask_script官网:点击前往
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Flask-Script
from flask_script import Manager, Command
from get_app import app
from flask import Flask
app = Flask(__name__)
注意:创建Manager实例时需要用到Flask对象
manager = Manager(app)
class Hello(Command): def run(self): # 必须实现run方法 print("Hello World.")
将创建的方法添加到Manager对象中去
manager.add_command(‘hello‘, Hello())
manager.run({ ‘hello‘: Hello() })
运行manager.py文件并在后面添加 hello 就会执行刚刚创建的命令
python3 manager.py hello
from flask_script import Manager, Command from flask import Flask app = Flask(__name__) manager = Manager(app) # 实例化Manager class Hello(Command): def run(self): # 必须实现run方法 print("Hello World. Helo Boy.") manager.add_command(‘hello‘, Hello()) # 将命令添加到Manager对象中 if __name__ == "__main__": manager.run()
from flask_script import Manager, Command from get_app import app manager = Manager(app) @manager.command def hello(): print("Hello Warrior.") if __name__ == "__main__": manager.run()
运行manager.py文件并在后面添加 hello 就会执行刚刚创建的命令
python3 manager.py hello
from flask_script import Manager, Command from get_app import app manager = Manager(app) @manager.option(‘-n‘, ‘--name‘, help=‘Your name‘) def hello(name): print("hello", name) if __name__ == "__main__": manager.run()
运行manager.py文件并在后面添加 hello 就会执行刚刚创建的命令, 可以在后面跟参数,如果不跟参数就为None
python3 manager.py hello --name=warrior
或者
python3 manager.py hello -n=warrior
manager.add_command(‘start‘, Server(host=‘0.0.0.0‘, port=5555))
解释:Server() 对应着一个继承了Comman的类,而且其内部实现了run() 方法
注意:需要从flask_script中导入Server
from flask_script import Manager, Command, Server from get_app import app manager = Manager(app) manager.add_command(‘start‘, Server(host=‘0.0.0.0‘, port=5555)) if __name__ == "__main__": manager.run()
执行 python3 manager.py start 就会自动启动Flask项目,而且会监听所有的IP, 端口号是5555
原文:http://www.cnblogs.com/NeverCtrl-C/p/7748024.html