flask_4:Flask-Script Manager的用法
阿新 • • 發佈:2020-08-27
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