1、flask_script
flask_script的作用是可以通過指令行的形式來操作flask。例如通過指令跑一個開發版本的伺服器、設定資料庫、定時功能等。
2、安裝
首先進入到項目的虛拟環境中,然後'pip install flask_script'來安裝。
3、執行指令的輸入方式
- 如果直接在主'manager.py'中寫指令,那麼就在終端就隻需要輸入一個父指令,比如:'python manage.py command_name'
- 如果把一些指令集中到一個檔案中時,那麼在終端就需要輸入一個父指令,比如'python manage.py db init'。
4、例子
- 建立一個檔案'db_scripts.py':(将資料庫操作指令集中寫到這個檔案中)
from flask_script import Manager
DBManager = Manager()
@DBManager.command
def init():
print('資料庫初始化完成!')
@DBManager.command
def migrate():
print('資料表遷移成功!')
- 在主檔案'manager.py'中下如下代碼:(第三行是将'db_scripts.py'裡集中寫的資料庫操作指令引入到該檔案中)
from flask import Flask
from flask_script import Manager
from db_scripts import DBManager
app = Flask(__name__)
manager = Manager(app)
@manager.command
def runserver():
print('伺服器跑起來啦!')
manager.add_command('db',DBManager)
if __name__=='__main__':
manager.run()
5、運作
在終端,激活本項目的虛拟環境後,
- 輸入:python manager.py runserver指令,運作結果是會輸出:“伺服器盤起來了!”(執行本檔案裡定義的指令)
- 輸入:'python manager.py db init'指令,運作結構是會輸出:'資料庫初始化完成!'(執行從'db_scripts.py'裡引用來的指令)
- 輸入:'python manager.py db migrate'指令,運作結果會輸出:'資料表遷移成功!'(執行從'db_scripts.py'裡引用來的指令)
注意:'manager.py'檔案的倒數第三行:'manager.add_command('db',DBManager)'中的'db'就是指令行'python manager.py db init'裡出現的'db',二者保持一緻。
以上筆記整理自知了課堂黃勇老師講解的教學視訊《Flask架構入門到實戰開發》的第三章第10小節内容,不足之處,望不吝賜教!