flask-script模塊的具體使用
1 作用
通過 flask-script 可以以命令的形式,執(zhí)行 flask 語句。
提供向 Flask 插入外部腳本的功能,如 運(yùn)行一個(gè)開發(fā)服務(wù)器、運(yùn)行 shell、執(zhí)行數(shù)據(jù)庫腳本。
2 安裝
pip install flask-script
3 所有要運(yùn)行的命令都放在 manager.py 中
from flask import Flask from flask_script import Manager, Command from loguru import logger # [ 生成一個(gè) Flask 實(shí)例 ] app = Flask(__name__) # [ Manager 構(gòu)造方法,只接受一個(gè)參數(shù), # 就是 Flask 實(shí)例,Manager 負(fù)責(zé)追蹤整個(gè) 命令 的處理過程 ] manager = Manager(app)
4 三種方式 創(chuàng)建命令
4.1 方式一 創(chuàng)建 Command子類
# 定義要執(zhí)行的命令類型 Hello 繼承 Command
class Hello(Command):
# 重寫 Command 類的 run() 方法
def run(self):
''' 要執(zhí)行的命令 '''
logger.info('sub class of Command')
if __name__ == '__main__':
'''
將 hello 命令加入到 manager ,
第一個(gè)參數(shù)為自己起的的命令簡稱,
第二個(gè)參數(shù)為 Command 子類 Hello 的實(shí)例
'''
manager.add_command('hello', Hello())
manager.run()
在 cmd 執(zhí)行 python manager.py hello [ hello 就是自己的 命令的簡稱 ]
這樣就會(huì)打印出 sub class of Command
4.2 方式二 使用裝飾器 @manager.command
'''
@manager.command 其實(shí) manager 就是上面初始化出來的 Manager 類的實(shí)例,
如果 Manager 類的實(shí)例名稱為 manager_1 ,則裝飾器也要改成 @manager_1.command
'''
'''
使用 裝飾器 @manager.command 后,命令的簡稱就是 函數(shù)的名字 hello_command,
在 __main__ 中 就不需要 在 通過 manager.add_command() 將 命令簡稱加入到 command 實(shí)例中了
'''
@manager.command
def hello_command():
logger.info('@manager.command')
if __name__ == '__main__':
'''
在 __main__ 中 就不需要 在 通過 manager.add_command() 將 命令簡稱加入到 command 實(shí)例中了
'''
manager.run()
在 cmd 執(zhí)行 python manager.py hello_command [ hello_command 就是自己的 命令的簡稱 ]
這樣就會(huì)打印出 @manager.command
4.3 方式三 使用裝飾器 @manager.option
'''
-u 為命令參數(shù)的 簡寫,--username 為命令參數(shù)的 全稱
(類似于 Linux 命令的參數(shù),參數(shù)簡寫 為一個(gè) -,參數(shù)全稱為 -- ),
無論是參數(shù)的 簡寫、還是 全稱 都必須以 - 開頭,但是 全稱也可以只以 一個(gè) - 開頭,
但建議以 兩個(gè) - 開頭,因?yàn)楦暇幋a規(guī)范,dest 的值必須與 hello_option 函數(shù)(也就是命令)的 入?yún)⒚?
稱 完全相同,因?yàn)?dest 就是表示這個(gè)參數(shù)值,傳遞給 hello_option 命令函數(shù)的那個(gè)入?yún)⒌?;default 表示
參數(shù)的默認(rèn)值,也就是如果執(zhí)行 python manager.py hello_option 執(zhí)行命令時(shí),不帶參數(shù),就用參數(shù)的默認(rèn)
值
'''
@manager.option('-u', '--username', dest='username', default='zhangsan')
@manager.option('-p', '--password', dest='password', default='123456')
def hello_option(username, password):
logger.info('@manage.option')
logger.info(f'username = {username}, password = {password}')
if __name__ == '__main__':
'''
在 __main__ 中 就不需要 在 通過 manager.add_command() 將 命令簡稱加入到 command 實(shí)例中了
'''
到此這篇關(guān)于flask-script模塊的具體使用的文章就介紹到這了,更多相關(guān)flask-script模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python Flask入門之模板
- Python Flask入門
- 使用Python+Flask開發(fā)博客項(xiàng)目并實(shí)現(xiàn)內(nèi)網(wǎng)穿透
- Python Flask搭建yolov3目標(biāo)檢測系統(tǒng)詳解流程
- python編程Flask框架簡單使用教程
- Python flask-script 模塊詳解
- python 詳解如何寫flask文件下載接口
- python http服務(wù)flask架構(gòu)實(shí)用代碼詳解分析
- Python Flask 請求數(shù)據(jù)獲取響應(yīng)詳解
- Flask 入門Web 微框架Hello Flask
相關(guān)文章
解決Python獲取文件提示找不到指定路徑can‘t?open?file?'area.py':
這篇文章主要給大家介紹了關(guān)于如何解決Python獲取文件提示找不到指定路徑can‘t?open?file?'area.py':[Errno?2]?No?such?file?or?directory的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
基于Python實(shí)現(xiàn)簡易學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡易學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
使用ChatGPT進(jìn)行Abaqus二次開發(fā)詳解
這篇文章主要為大家介紹了使用ChatGPT進(jìn)行Abaqus二次開發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
numpy.bincount用于復(fù)數(shù)權(quán)重的方法
numpy.bincount是NumPy庫中的一個(gè)函數(shù),它用于計(jì)算整數(shù)數(shù)組中每個(gè)值的出現(xiàn)次數(shù),numpy.bincount函數(shù)在統(tǒng)計(jì)整數(shù)數(shù)組中每個(gè)值的出現(xiàn)次數(shù)或權(quán)重和時(shí)非常有用,本文給大家介紹numpy.bincount如何用于復(fù)數(shù)權(quán)重,感興趣的朋友跟隨小編一起看看吧2023-11-11
利用python如何實(shí)現(xiàn)貓捉老鼠小游戲
這篇文章主要給大家介紹了關(guān)于利用python如何實(shí)現(xiàn)貓捉老鼠小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
超詳細(xì),教你用python語言實(shí)現(xiàn)QQ機(jī)器人制作教程
這篇文章主要介紹了如何python語言實(shí)現(xiàn)QQ機(jī)器人,用圖文詳細(xì)的描述了其中的操作步驟,非常的簡單易上手,有需要的朋友可以參考下2021-08-08
python plt.plot bar 如何設(shè)置繪圖尺寸大小
這篇文章主要介紹了python plt.plot bar 設(shè)置繪圖尺寸大小的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06

