天天看點

【python-flask學習筆記】3.4 SQLAlchemy-flask_script講解1、flask_script2、安裝3、執行指令的輸入方式4、例子5、運作

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小節内容,不足之處,望不吝賜教!