Python flask-script 模塊詳解
1 作用
通過(guò) flask-script 可以以命令的形式,執(zhí)行 flask 語(yǔ)句。
提供向 Flask 插入外部腳本的功能,如 運(yùn)行一個(gè)開(kāi)發(fā)服務(wù)器、運(yùn)行 shell、執(zhí)行數(shù)據(jù)庫(kù)腳本。
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è) 命令 的處理過(guò)程 ] manager = Manager(app)
4 三種方式 創(chuàng)建命令
4.1 方式一 創(chuàng)建 Command子類(lèi)
# 定義要執(zhí)行的命令類(lèi)型 Hello 繼承 Command
class Hello(Command):
# 重寫(xiě) Command 類(lèi)的 run() 方法
def run(self):
''' 要執(zhí)行的命令 '''
logger.info('sub class of Command')
if __name__ == '__main__':
'''
將 hello 命令加入到 manager ,
第一個(gè)參數(shù)為自己起的的命令簡(jiǎn)稱(chēng),
第二個(gè)參數(shù)為 Command 子類(lèi) Hello 的實(shí)例
'''
manager.add_command('hello', Hello())
manager.run()
在 cmd 執(zhí)行 python manager.py hello [ hello 就是自己的 命令的簡(jiǎn)稱(chēng) ]
這樣就會(huì)打印出 sub class of Command
4.2 方式二 使用裝飾器 @manager.command
'''
@manager.command 其實(shí) manager 就是上面初始化出來(lái)的 Manager 類(lèi)的實(shí)例,
如果 Manager 類(lèi)的實(shí)例名稱(chēng)為 manager_1 ,則裝飾器也要改成 @manager_1.command
'''
'''
使用 裝飾器 @manager.command 后,命令的簡(jiǎn)稱(chēng)就是 函數(shù)的名字 hello_command,
在 __main__ 中 就不需要 在 通過(guò) manager.add_command() 將 命令簡(jiǎn)稱(chēng)加入到 command 實(shí)例中了
'''
@manager.command
def hello_command():
logger.info('@manager.command')
if __name__ == '__main__':
'''
在 __main__ 中 就不需要 在 通過(guò) manager.add_command() 將 命令簡(jiǎn)稱(chēng)加入到 command 實(shí)例中了
'''
manager.run()
在 cmd 執(zhí)行 python manager.py hello_command [ hello_command 就是自己的 命令的簡(jiǎn)稱(chēng) ]
這樣就會(huì)打印出 @manager.command
4.3 方式三 使用裝飾器 @manager.option
'''
-u 為命令參數(shù)的 簡(jiǎn)寫(xiě),--username 為命令參數(shù)的 全稱(chēng)
(類(lèi)似于 Linux 命令的參數(shù),參數(shù)簡(jiǎn)寫(xiě) 為一個(gè) -,參數(shù)全稱(chēng)為 -- ),
無(wú)論是參數(shù)的 簡(jiǎn)寫(xiě)、還是 全稱(chēng) 都必須以 - 開(kāi)頭,但是 全稱(chēng)也可以只以 一個(gè) - 開(kāi)頭,
但建議以 兩個(gè) - 開(kāi)頭,因?yàn)楦暇幋a規(guī)范,dest 的值必須與 hello_option 函數(shù)(也就是命令)的 入?yún)⒚?
稱(chēng) 完全相同,因?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__ 中 就不需要 在 通過(guò) manager.add_command() 將 命令簡(jiǎn)稱(chēng)加入到 command 實(shí)例中了
'''
manager.run()
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
- Python Flask入門(mén)之模板
- Python Flask入門(mén)
- 使用Python+Flask開(kāi)發(fā)博客項(xiàng)目并實(shí)現(xiàn)內(nèi)網(wǎng)穿透
- Python Flask搭建yolov3目標(biāo)檢測(cè)系統(tǒng)詳解流程
- python編程Flask框架簡(jiǎn)單使用教程
- flask-script模塊的具體使用
- python 詳解如何寫(xiě)flask文件下載接口
- python http服務(wù)flask架構(gòu)實(shí)用代碼詳解分析
- Python Flask 請(qǐng)求數(shù)據(jù)獲取響應(yīng)詳解
- Flask 入門(mén)Web 微框架Hello Flask
相關(guān)文章
Python連接SQL?server數(shù)據(jù)庫(kù)并進(jìn)行簡(jiǎn)單查詢(xún)的操作詳解
SQL?Server是微軟推出的重量級(jí)的數(shù)據(jù)庫(kù),本文將給大家詳細(xì)介紹了一下Python連接SQL?server數(shù)據(jù)庫(kù)詳細(xì)流程,并通過(guò)代碼示例給大家講解的非常清除,具有一定的參考價(jià)值,需要的朋友可以參考下2024-02-02
Python實(shí)現(xiàn)的徑向基(RBF)神經(jīng)網(wǎng)絡(luò)示例
這篇文章主要介紹了Python實(shí)現(xiàn)的徑向基(RBF)神經(jīng)網(wǎng)絡(luò),結(jié)合完整實(shí)例形式分析了Python徑向基(RBF)神經(jīng)網(wǎng)絡(luò)定義與實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-02-02
解決Pytorch訓(xùn)練過(guò)程中l(wèi)oss不下降的問(wèn)題
今天小編就為大家分享一篇解決Pytorch訓(xùn)練過(guò)程中l(wèi)oss不下降的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
python3下實(shí)現(xiàn)搜狗AI API的代碼示例
這篇文章主要介紹了python3下實(shí)現(xiàn)搜狗AI API的代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
pygame仿office的頁(yè)面切換功能(完整代碼)
本文通過(guò)兩個(gè)版本給大家介紹pygame實(shí)現(xiàn)類(lèi)似office的頁(yè)面切換功能,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
從基礎(chǔ)到進(jìn)階帶你玩轉(zhuǎn)Python中的異常處理
在編程過(guò)程中,我們經(jīng)常會(huì)遇到各種運(yùn)行時(shí)錯(cuò)誤,比如除零錯(cuò)誤、文件未找到錯(cuò)誤等,本文將介紹Python異常處理的基礎(chǔ)知識(shí),希望對(duì)大家有所幫助2025-01-01

