Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开;
Flask Script和Flask本身的工作方式类似,只需定义和添加从命令行中被Manager实例调用的命令;
官方文档:http://flask-script.readthedocs.io/en/latest/

1 创建并运行命令
首先,创建一个Python模板运行命令脚本,可起名为manager.py;
在该文件中,必须有一个Manager实例,Manager类追踪所有在命令行中调用的命令和处理过程的调用运行情况;
Manager只有一个参数——Flask实例,也可以是一个函数或其他的返回Flask实例;
调用manager.run()启动Manager实例接收命令行中的命令;

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
from 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())  if __name__ == '__main__':  manager.run()  

执行如下命令:
python manager.py hello

hello world

第二种——使用Command实例的@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()  

该方法创建命令的运行方式和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')
@manager.option('-u', '--url', dest='url', default='www.csdn.com')
def hello(name, url):  'hello world or hello <setting name>'  print 'hello', name  print url  if __name__ == '__main__':  manager.run()  

运行方式如下:

python manager.py hello

hello world
www.csdn.com

python manager.py hello -n sissiy -u www.sissiy.com

hello sissiy
www.sissiy.com

Flask-script相关推荐

  1. flask mysql 1366_2017-11-17 Python Flask Script+mysql环境设置

    [1.初级版] flask-scrpit安装. 使用flask-scrpit可以创建命令,并在Flask的应用上下文中执行,因为这样才能对Flask对象进行修改.Flask Script自带了一些默认 ...

  2. Flask 第三方组件之 script

    Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...

  3. flask url构建_如何为生产构建构建Flask-RESTPlus Web服务

    flask url构建 by Greg Obinna 由格雷格·奥比纳(Greg Obinna) 如何为生产构建构建Flask-RESTPlus Web服务 (How to structure a F ...

  4. python框架实例_Python之Flask框架项目Demo入门

    Flask是微型web框架,框架本身十分精简,微型并不代表其功能弱,核心代码基于Werkzeug, Jinja 2 这两个库,它以插件形式的进行功能扩展,且插件易于安装与使用,并且可以自行开发扩展插件 ...

  5. 用 Flask 来写个轻博客 (6) — (M)VC_models 的关系(one to many)

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 前言 一对多 再一次 sync db How to use ...

  6. 用 Flask 来写个轻博客 (4) — (M)VC_创建数据模型和表

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 定义数据模型 models 创建表 前文列表 用 Flask ...

  7. 用 Flask 来写个轻博客 (2) — Hello World!

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现最简单的 Flask 应用 创建 config.py 文 ...

  8. Flask 实战:如何从零开发“知乎”

    作为当下十分火热的问答社区,知乎聚集了大量问题者和答题者. 但不少朋友在逛知乎的同时,也不禁想要开发一个像"知乎"这样的问答社区,既能够问题答题,也能拥有用户评论.点赞.收藏.浏览 ...

  9. flask web开发是前端还是后端_Flask Web开发实战:入门、进阶与原理解析 PDF 全格式版...

    给大家带来的一篇关于Flask相关的电子书资源,介绍了关于Flask.Web.开发实战方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小12.2M,李辉编写,目前豆瓣.亚马逊.当当.京东等 ...

  10. Python3 Flask框架

    Flask框架 内容原创,侵权必究.学习分享请注明地址:https://blog.csdn.net/Jackie_ZHF/article/details/82592928 博主有时间会不定期更新大数据 ...

最新文章

  1. VS生成dll和lib库文件
  2. CSMA/CD在全双工和半双工模式下的区别
  3. java读取doc文档
  4. PostgreSQL将表导出为CSV(服务器端、客户机端)完整版
  5. 用SCCM2007 R2管理Windows更新,SCCM系列之六
  6. 权限操作-springSecurity快速入门-使用自定义页面
  7. [转] SQL2000 关于 Java JDBC 驱动的安装和设定
  8. ES6/06/ES6简介,ES6新增语法,let声明变量,const声明常量,var,let和const总结,数组解构,对象解构,箭头函数,剩余参数
  9. [转]研究生阶段学习规划指导随笔
  10. 【JAVA实例】代码生成器的原理讲解以及实际使用
  11. 利用静态内部类实现单例模式
  12. Windows Server2012 R2中安装SQL Server2008
  13. Atitit 数据库的历史与未来 目录 1.1. 两个对于数据库强需求的行业。电信 金融 1 1.2. 艾提拉分析 对数据库强需求行业金融 1 2. 数据库历史 2 2.1. ,上个世纪50,6
  14. 维克多DBC文件结构
  15. 中兴WCDMA模块 Linux拨号流程
  16. java tostring null_Java String转换时为null的问题
  17. 名侦探柯南之零的执行人
  18. C# 获取某个时间的0点0分和23点59分59秒
  19. 最新IP地理数据库(dat文件) --别花钱了
  20. linux 内核协议栈 NAPI机制与处理流程分析(图解)

热门文章

  1. epson机器人编程 范例_2019年机器人盘点(IREX篇)
  2. 将String类型的Json字符串转化对象或对象数组
  3. 面试题整理11 数字在排序数组中出现的次数
  4. python 调用c++
  5. C++跨类调用——extern
  6. 机器学习系列(9)_机器学习算法一览(附Python和R代码)
  7. Chrome控制台使用详解 1
  8. 【Spring】Bean的生命周期
  9. 傅里叶变换在图像处理中的作用
  10. Earth Mover's Distance (EMD)距离