1. 程式人生 > 實用技巧 >flask_4:Flask-Script Manager的用法

flask_4:Flask-Script Manager的用法

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