Flask-script
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相关推荐
- flask mysql 1366_2017-11-17 Python Flask Script+mysql环境设置
[1.初级版] flask-scrpit安装. 使用flask-scrpit可以创建命令,并在Flask的应用上下文中执行,因为这样才能对Flask对象进行修改.Flask Script自带了一些默认 ...
- Flask 第三方组件之 script
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...
- flask url构建_如何为生产构建构建Flask-RESTPlus Web服务
flask url构建 by Greg Obinna 由格雷格·奥比纳(Greg Obinna) 如何为生产构建构建Flask-RESTPlus Web服务 (How to structure a F ...
- python框架实例_Python之Flask框架项目Demo入门
Flask是微型web框架,框架本身十分精简,微型并不代表其功能弱,核心代码基于Werkzeug, Jinja 2 这两个库,它以插件形式的进行功能扩展,且插件易于安装与使用,并且可以自行开发扩展插件 ...
- 用 Flask 来写个轻博客 (6) — (M)VC_models 的关系(one to many)
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 前言 一对多 再一次 sync db How to use ...
- 用 Flask 来写个轻博客 (4) — (M)VC_创建数据模型和表
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 定义数据模型 models 创建表 前文列表 用 Flask ...
- 用 Flask 来写个轻博客 (2) — Hello World!
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现最简单的 Flask 应用 创建 config.py 文 ...
- Flask 实战:如何从零开发“知乎”
作为当下十分火热的问答社区,知乎聚集了大量问题者和答题者. 但不少朋友在逛知乎的同时,也不禁想要开发一个像"知乎"这样的问答社区,既能够问题答题,也能拥有用户评论.点赞.收藏.浏览 ...
- flask web开发是前端还是后端_Flask Web开发实战:入门、进阶与原理解析 PDF 全格式版...
给大家带来的一篇关于Flask相关的电子书资源,介绍了关于Flask.Web.开发实战方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小12.2M,李辉编写,目前豆瓣.亚马逊.当当.京东等 ...
- Python3 Flask框架
Flask框架 内容原创,侵权必究.学习分享请注明地址:https://blog.csdn.net/Jackie_ZHF/article/details/82592928 博主有时间会不定期更新大数据 ...
最新文章
- VS生成dll和lib库文件
- CSMA/CD在全双工和半双工模式下的区别
- java读取doc文档
- PostgreSQL将表导出为CSV(服务器端、客户机端)完整版
- 用SCCM2007 R2管理Windows更新,SCCM系列之六
- 权限操作-springSecurity快速入门-使用自定义页面
- [转] SQL2000 关于 Java JDBC 驱动的安装和设定
- ES6/06/ES6简介,ES6新增语法,let声明变量,const声明常量,var,let和const总结,数组解构,对象解构,箭头函数,剩余参数
- [转]研究生阶段学习规划指导随笔
- 【JAVA实例】代码生成器的原理讲解以及实际使用
- 利用静态内部类实现单例模式
- Windows Server2012 R2中安装SQL Server2008
- Atitit 数据库的历史与未来 目录 1.1. 两个对于数据库强需求的行业。电信 金融	1 1.2. 艾提拉分析 对数据库强需求行业金融	1 2. 数据库历史	2 2.1. ,上个世纪50,6
- 维克多DBC文件结构
- 中兴WCDMA模块 Linux拨号流程
- java tostring null_Java String转换时为null的问题
- 名侦探柯南之零的执行人
- C# 获取某个时间的0点0分和23点59分59秒
- 最新IP地理数据库(dat文件) --别花钱了
- linux 内核协议栈 NAPI机制与处理流程分析(图解)