Flask-script
Flask Script擴(kuò)展提供向Flask插入外部腳本的功能,包括運(yùn)行一個(gè)開(kāi)發(fā)用的服務(wù)器,一個(gè)定制的Python shell,設(shè)置數(shù)據(jù)庫(kù)的腳本,cronjobs,及其他運(yùn)行在web應(yīng)用之外的命令行任務(wù);使得腳本和系統(tǒng)分開(kāi);
Flask Script和Flask本身的工作方式類似,只需定義和添加從命令行中被Manager實(shí)例調(diào)用的命令;
官方文檔:http://flask-script.readthedocs.io/en/latest/
1 創(chuàng)建并運(yùn)行命令
首先,創(chuàng)建一個(gè)Python模板運(yùn)行命令腳本,可起名為manager.py;
在該文件中,必須有一個(gè)Manager實(shí)例,Manager類追蹤所有在命令行中調(diào)用的命令和處理過(guò)程的調(diào)用運(yùn)行情況;
Manager只有一個(gè)參數(shù)——Flask實(shí)例,也可以是一個(gè)函數(shù)或其他的返回Flask實(shí)例;
調(diào)用manager.run()啟動(dòng)Manager實(shí)例接收命令行中的命令;
其次,創(chuàng)建并加入命令;
有三種方法創(chuàng)建命令,即創(chuàng)建Command子類、使用@command修飾符、使用@option修飾符;
第一種——?jiǎng)?chuàng)建Command子類
Command子類必須定義一個(gè)run方法;
舉例:創(chuàng)建Hello命令,并將Hello命令加入Manager實(shí)例;
執(zhí)行如下命令:
python manager.py hello
hello world
第二種——使用Command實(shí)例的@command修飾符
from flask_script import Manager from debug import app manager = Manager(app) @manager.command def hello(): 'hello world' print 'hello world' if __name__ == '__main__': manager.run()該方法創(chuàng)建命令的運(yùn)行方式和Command類創(chuàng)建的運(yùn)行方式相同;
python manager.py hello
hello world
第三種——使用Command實(shí)例的@option修飾符
復(fù)雜情況下,建議使用@option;
可以有多個(gè)@option選項(xiàng)參數(shù);
運(yùn)行方式如下:
python manager.py hellohello world
www.csdn.com
hello sissiy
www.sissiy.com
總結(jié)
以上是生活随笔為你收集整理的Flask-script的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: conda设置Python虚拟环境 其
- 下一篇: itchat微信调用图灵机器人API