先上段代碼:
from flask import Flask from flask_script import Manager app = Flask(__name__, template_folder='templates') manager = Manager(app) # Run local server manager.add_command("runserver", Server("localhost", port=8080))
if __name__ == '__main__': manager.run()
(1)Flask Script擴展提供向Flask插入外部腳本的功能,包括運行一個開發用的服務器,一個定制的Python shell,設置數據庫的腳本,cronjobs,及其他運行在web應用之外的命令行任務;使得腳本和系統分開;
(2)Flask Script和Flask本身的工作方式類似,只需定義和添加從命令行中被Manager實例調用的命令;
(3)flask_script的作用是可以通過命令行的形式來操作flask例如通過一個命令跑一個開發版本的服務器,設置數據庫,定時任務等
(4)通過使用Flask-Script擴展,我們可以在Flask服務器啟動的時候,通過命令行的方式傳入參數。而不僅僅通過app.run()方法中傳參,比如我們可以通過python hello.py runserver --host ip地址,告訴服務器在哪個網絡接口監聽來自客戶端的連接。默認情況下,服務器只監聽來自服務器所在計算機發起的連接,即localhost連接。
具體其中一種方法:
manager.add_command("runserver", Server("localhost", port=8080))
其他方法請參考:https://www.jianshu.com/p/8148e81b42de
項目中應用:
1.實例化Flask對象
from flask import Flask app = Flask(__name__, template_folder='templates')
2.將Flask實例對象傳入Manager
manager = Manager(app)
3.添加Manager實例調用的命令
manager.add_command("runserver", Server("localhost", port=8080))
4.運行manager實例
if __name__ == '__main__': manager.run()