1、flask-script的作用
可以通過命令行的形式來操作flask。例如通過命令跑一個開發版本的服務器、設置數據庫、定時任務等。
2、flask-script的安裝
pip install flask-script
復制代碼
3、示例代碼
新建文件manage.py,文件中的代碼如下
from flask_script import Manager
from app.app import app
manager = Manager(app)
# 定義自己要執行的command @manager.command def test(): print(u'test run') if __name__ == '__main__': manager.run() 復制代碼
4、執行命令行
執行格式:python manage.py [commond]
# 執行示例中的test中的內容 python manage.py test # 啟動flask項目的命令 python manage.py runserver 復制代碼
5、引用其它文件或第三方的flask-script命令
實際使用中,我們往往可能會遇到需要引用第三方的flask-script,如flask-migrate。或者期望將一種類型的命令放置同一個文件中統一管理,這時就涉及到如何引入這些flask-script命令的問題
1. 引用其它文件中的flask-script
假設我們需要創建的是一個數據庫統一處理的命令集文件db_script.py,示例代碼如下:
from flask_script import Manager
# 注意命名,不能命名成Manager,否則會有沖突 DBManager = Manager() @DBManager.command def init(): print('數據庫初始化完成') @DBManager.command def migrate(): print '數據表遷移成功' 復制代碼
這是原來的manage.py文件中變更如下:
from flask_script import Manager
# 變更一:引入定義的命令集對象 from db_scripts import DBManager from app.app import app manager = Manager(app) # 變更二:將名利集添加到manager中 manager.add_command('db', DBManager) # 定義自己要執行的command @manager.command def test(): print(u'test run') if __name__ == '__main__': manager.run() 復制代碼
執行命令的方式有所不同:
python manage.py db init
python manage.py db migrate
復制代碼
2. 引用第三方的flask-script
和引入其它文件中的命令集的方式一樣,也是需要引入對象和添加到manager中
本文轉載自:
(1)flask 學習筆記之 Flask-Script :https://juejin.im/post/6844903617976254478
(2)Flask-Script Manager:https://www.jianshu.com/p/8148e81b42de
