国产探花免费观看_亚洲丰满少妇自慰呻吟_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()             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 右玉县| 中牟县| 屏东市| 涡阳县| 天镇县| 乌兰浩特市| 漳平市| 苗栗市| 东兴市| 林芝县| 平顺县| 成都市| 霍林郭勒市| 呈贡县| 延长县| 福贡县| 巴里| 梁平县| 确山县| 明水县| 西城区| 营山县| 抚松县| 荥经县| 中阳县| 泌阳县| 大足县| 阜康市| 莱西市| 盘山县| 洪湖市| 高密市| 青岛市| 垣曲县| 武安市| 包头市| 卢湾区| 广州市| 曲水县| 昆明市| 义马市|