1 什么是Flask_Script
可以對flask應用做一些統一的操作
flask_script官網:點擊前往
2 安裝flask_script
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Flask-Script
3 如何使用flask_script編程
2.1 從flask_script模塊中導入相關的類
from flask_script import Manager, Command
2.2 獲取一個flask應用的實例
2.2.1 從外部導入的方法
from get_app import app
2.2.2 自己創建的方法
from flask import Flask
app = Flask(__name__)
2.3 創建一個Manager是咧
注意:創建Manager實例時需要用到Flask對象
manager = Manager(app)
2.4 創建自己的命令(有三種方式)
2.4.1 繼承Command父類的編程步驟
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()
2.4.2 利用@manager.command注解實現(不帶參數)

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
2.4.3 利用@manager.option('-n', '--name', help='Your name')注解實現(帶參數)

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
3 利用命令啟動Flask項目
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