国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Flask之flask-script模塊使用

2020-02-15 22:32:21
字體:
來源:轉載
供稿:網友

Flask Script擴展提供向Flask插入外部腳本的功能,包括運行一個開發用的服務器,一個定制的Python shell,設置數據庫的腳本,cronjobs,及其他運行在web應用之外的命令行任務;使得腳本和系統分開;

Flask Script和Flask本身的工作方式類似,只需定義和添加從命令行中被Manager實例調用的命令;

官方文檔:http://flask-script.readthedocs.io/en/latest/

創建并運行命令

首先,創建一個Python模板運行命令腳本,可起名為manager.py;

在該文件中,必須有一個Manager實例,Manager類追蹤所有在命令行中調用的命令和處理過程的調用運行情況;

Manager只有一個參數——Flask實例,也可以是一個函數或其他的返回Flask實例;

調用manager.run()啟動Manager實例接收命令行中的命令;

#-*-coding:utf8-*- from flask_script import Manager from debug import app  manager = Manager(app)  if __name__ == '__main__':  manager.run() 

其次,創建并加入命令;

有三種方法創建命令,即創建Command子類、使用@command修飾符、使用@option修飾符;

第一種——創建Command子類

Command子類必須定義一個run方法;

舉例:創建Hello命令,并將Hello命令加入Manager實例;

from flask_script import Manager ,Serverfrom flask_script import Command from debug import app  manager = Manager(app) class Hello(Command):  'hello world'  def run(self):   print 'hello world' #自定義命令一:manager.add_command('hello', Hello()) # 自定義命令二:manager.add_command("runserver", Server()) #命令是runserverif __name__ == '__main__':  manager.run() 

執行如下命令:

python manager.py hello
> hello world

 python manager.py runserver
> hello world

第二種——使用Command實例的@command修飾符

#-*-coding:utf8-*- 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() 

該方法創建命令的運行方式和Command類創建的運行方式相同;

python manager.py hello
> hello world

第三種——使用Command實例的@option修飾符

復雜情況下,建議使用@option;

可以有多個@option選項參數;

from flask_script import Manager from debug import app  manager = Manager(app)  @manager.option('-n', '--name', dest='name', help='Your name', default='world') #命令既可以用-n,也可以用--name,dest="name"用戶輸入的命令的名字作為參數傳給了函數中的name@manager.option('-u', '--url', dest='url', default='www.csdn.com') #命令既可以用-u,也可以用--url,dest="url"用戶輸入的命令的url作為參數傳給了函數中的urldef hello(name, url): 'hello world or hello <setting name>'  print 'hello', name  print url  if __name__ == '__main__':  manager.run()             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南岸区| 孝感市| 平定县| 花莲市| 射阳县| 视频| 太仆寺旗| 龙口市| 张北县| 日照市| 琼结县| 永靖县| 尼玛县| 安泽县| 临泽县| 疏勒县| 连江县| 行唐县| 巨鹿县| 怀柔区| 静海县| 靖安县| 黑河市| 枣强县| 晴隆县| 红桥区| 东乌珠穆沁旗| 色达县| 江北区| 和政县| 水城县| 高州市| 郸城县| 定结县| 邹城市| 巴彦淖尔市| 贵南县| 原平市| 老河口市| 兴化市| 汝阳县|