Flask17 Flask_Script插件的使用


 

1 什么是Flask_Script

  可以對flask應用做一些統一的操作

  flask_script官網:點擊前往

 

2 安裝flask_script

  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Flask-Script

3 如何使用flask_script編程

  2.1 從flask_script模塊中導入相關的類

    from flask_script import Manager, Command    

  2.2 獲取一個flask應用的實例

    2.2.1 從外部導入的方法

      from get_app import app

    2.2.2 自己創建的方法

      from flask import Flask
      app = Flask(__name__)

  2.3 創建一個Manager是咧

    注意:創建Manager實例時需要用到Flask對象

      manager = Manager(app)

  2.4 創建自己的命令(有三種方式)

    2.4.1 繼承Command父類的編程步驟

class Hello(Command):
    def run(self): # 必須實現run方法
        print("Hello World.")

      將創建的方法添加到Manager對象中去

        manager.add_command('hello', Hello())

manager.run({
        'hello': Hello()
    })
上面的代碼可以這樣寫在run里面

      運行manager.py文件並在后面添加 hello 就會執行剛剛創建的命令

        python3 manager.py hello

from flask_script import Manager, Command

from flask import Flask
app = Flask(__name__)

manager = Manager(app) # 實例化Manager

class Hello(Command):
    def run(self): # 必須實現run方法
        print("Hello World. Helo Boy.")
manager.add_command('hello', Hello()) # 將命令添加到Manager對象中

if __name__ == "__main__":
    manager.run()
manager.py

    2.4.2  利用@manager.command注解實現(不帶參數)

from flask_script import Manager, Command

from get_app import app

manager = Manager(app)

@manager.command
def hello():
    print("Hello Warrior.")


if __name__ == "__main__":
    manager.run()
manager.py

      運行manager.py文件並在后面添加 hello 就會執行剛剛創建的命令

        python3 manager.py hello

    2.4.3 利用@manager.option('-n', '--name', help='Your name')注解實現(帶參數)

from flask_script import Manager, Command

from get_app import app

manager = Manager(app)

@manager.option('-n', '--name', help='Your name')
def hello(name):
    print("hello", name)

if __name__ == "__main__":
    manager.run()
manager.py

      運行manager.py文件並在后面添加 hello 就會執行剛剛創建的命令, 可以在后面跟參數,如果不跟參數就為None

        python3 manager.py hello --name=warrior
          或者

        python3 manager.py hello -n=warrior
  

3 利用命令啟動Flask項目

  manager.add_command('start', Server(host='0.0.0.0', port=5555)) 

    解釋:Server() 對應着一個繼承了Comman的類,而且其內部實現了run() 方法 

    注意:需要從flask_script中導入Server  

from flask_script import Manager, Command, Server

from get_app import app

manager = Manager(app)

manager.add_command('start', Server(host='0.0.0.0', port=5555))

if __name__ == "__main__":
    manager.run()
manager.py

    執行 python3 manager.py start 就會自動啟動Flask項目,而且會監聽所有的IP, 端口號是5555

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM