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.run()启动Manager实例接收命令行中的命令;

#-*-coding:utf8-*-  
from flask_script import Manager  
from debug import app  # Manager只有一个参数 Flask实例,也可以是一个函数或其他的返回Flask实例;
manager = Manager(app)  if __name__ == '__main__':  manager.run()

其次,创建并加入命令;

有三种方法创建命令,即创建Command子类、使用@command修饰符、使用@option修饰符;

1、创建Command子类

# 创建Hello命令,并将Hello命令加入Manager实例;
from flask_script import Manager  ,Server
from flask_script import Command  
from debug import app  manager = Manager(app)  class Hello(Command):  'hello world'  # 必须定义一个run方法;def run(self):  print 'hello world'  # 自定义命令一:
manager.add_command('hello', Hello())      # 命令是hello# 自定义命令二:
manager.add_command("runserver", Server()) # 命令是runserver
if __name__ == '__main__':  manager.run()

执行如下命令:

python manager.py hello
> hello world

2、使用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类创建的运行方式相同;

3、使用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 '  print 'hello', name  print url  if __name__ == '__main__':  manager.run()  

运行方式如下:

python manager.py hello
>hello world
>www.csdn.compython manager.py hello -n sissiy -u www.sissiy.com
> hello sissiy
>www.sissiy.compython manager.py hello --name sissiy --url www.sissiy.com
> hello sissiy
>www.sissiy.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS四种方法自建yum仓库

将ISO光盘镜像作为yum本地仓库(适用于不能联外网的环境): 1、 禁用所有可用的yum仓库,为方便演示,直接全部删除: # cd /etc/yum.repos.d # ls # rm -rf * 2、 创建光盘挂载点,挂载光盘&#x…

python substr_python数据分析-数据对象(一)

Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。不可变(3 个):Number(数字)、String(字符串)、Tuple(元组)&#xff…

VLC框架分析

功能部份: VLC媒体播放器的核心是libvlc ,它提供了界面,应用处理功能,如播放列表管理,音频和视频解码和输出,线程系统。所有libvlc源文件设在的/src目录及其子目录: # config/ :从命令行和配置…

html表格里的超链接点不了,Excel如何添加和取消超链接 Excel超链接打不开是怎么回事...

很多用户在制作excel表格的时候都会添加一些超链接,在制作完成后发布到网页,阅读者可以通过超链接打开指引的网页或者文件,超链接对制作excel表格的用户有非常大的帮助,虽然添加超链接的步骤非常简单,不过还是有些exce…

yum 安装apache php mysql

安装: yum install -y httpd php 查看版本:、 rpm -qa httpd php httpd-2.2.15-54.el6.centos.x86_64 php-5.3.3-48.el6_8.x86_64 修改apache配置文件: vim /etc/httpd/conf/httpd.conf 在#ServerName www.example.com:80行下添加一行 Server…

Python 散点图线性拟合_机器学习之利用Python进行简单线性回归分析

前言:在利用机器学习方法进行数据分析时经常要了解变量的相关性,有时还需要对变量进行回归分析。本文首先对人工智能/机器学习/深度学习、相关分析/因果分析/回归分析等易混淆的概念进行区分,最后结合案例介绍如何利用Python进行简单线性回归…

Flask 第三方组件之 Migrate

flask-migrate是flask的一个扩展模块,主要是扩展数据库表结构的.类似于Django的python manage.py migrate 官方文档: http://flask-migrate.readthedocs.io/en/latest/ 安装 pip install flask-migrate 使用举例 from flask import Flask from flask_sqlalchemy import SQLA…

html section 布局,section标签的用法

标签的用法由于昨晚发了一篇文章http://www.zcool.com.cn/article/ZMzA3MzI.html,有一个网友评论问 的用法。所以现在举例来说明一下:html5引入了标签,用于描述文档的结构,它同标签的意思一样。但是在特定环境中,两者又…

清北学堂Day4

(1)第一题 财富(treasure) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有n个小伙伴。每个小伙伴有一个身高hi。 这个游戏是这样的,LYK生活的环境是以身高为美的环境,因此在这里的每个人都羡慕比自己身高高的人&#xff…

Falsk session 源码解析

Falsk框架session请求流程 from flask import Flask # 1. 实例化Flask对象 app Flask(__name__) # 2. 设置路由 app.route(/index) def index(): return "index" if __name__ __main__: # 3. 启动socket服务端 app.run() # 4. 用户请求到来 ap…

vlc内部运行机制以及架构分析

VLC架构剖析1. VideoLan简介1.1 videolan组成Videolan有以下两部分组成:VLC:一个最主要的部分,它可以播放各种类型的媒体文件和流vlc架构剖析 1. VideoLan简介 1.1 videolan组成 Videolan有以下两部分组成: VLC:一个最主要的部分,它可以播放各种类型的媒…

visio中公式太小_visio绘图中的数据计算

在绘流程图时,我们有时候会想直接在流程图上做计算,比如化工设计时精馏塔计算理论塔板数。在VISIO中,实现这个功能还是比较容易,举一个最简单的例子。如下图所示,等号后面的数字可以根据前面的数字变化。实现过程如下&…

Django syncdb mysql error on localhost - (1045, Access denied for user 'ODBC'@'

环境:WINDOWS系统 将数据库配置 DATABASES { default: { ENGINE: django.db.backends.mysql, HOST: localhost, PORT: 3306, NAME: yunwei, USERNAME: root, PASSWORD: mysql, } } 改为 DATABASES { default: { ENGINE: django.db.backends.mysql, HOST: localhos…

银行招计算机专业算什么岗,银行计算机专业岗位全方位分析

黑龙江银行招聘信息陆续发布,中公教育专家为各位考生提供:银行计算机专业岗位全方位分析!供大家参考,预祝大家取得好成绩,更多黑龙江人民银行招聘相关资料请关注黑龙江银行招聘网。金融银行部门一直是一个朝阳产业&…

【47.92%】【hdu 5763】Another Meaning

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1440 Accepted Submission(s): 690 Problem DescriptionAs is known to all, in many cases, a word has two meanings. Such as “hehe”, which not only mea…

root用户登录mysql后新建用户提示1045错误

执行以下命令查看root权限 show grants for rootlocalhost; 如果没有显示with grant option,说明是root没有拥有新建授权用户的权限(为什么会这样呢,因为我把userroot and hostlocalhost给删掉了,然后重新授权all privileges给新建root用户&a…

Flask werkzeug 源码解析

Flask werkzeug流程大概:执行run_simple ,实际执行为先用make_server 创建一个 BaseServer 实例,然后执行 实例的serve_forever 方法, serve_forever 调用 run_simple 传入的第三个参数,执行(self, environ, start_response) &am…

AVS 帧内预测模式的汇编优化

王瑞*基金项目:本课题得到国家自然科学基金资助项目基金(项目编号:60772101)的资助。作者简介:王瑞(1986—), 男, 山东莱芜人, 硕士, 主要从事视频压缩方面的研究. E-mai…

ltsc系统激活_WIN10_X64企业版LTSC 电脑公司装机版 202008

文件: WIN10_X64_LTSC_ZJ202008.esd大小: 7431429353 字节(6.92G)MD5: A3A3B15ED47216E177C924D2E07E0799SHA1: 3A647265E0C8234225C633407093BAA07253FB34CRC32: 32E791E9(注意,下载文件有一定几率损坏,如文件值不对请重新下载!)360安全云盘…

大学计算机应用基础考试题库,大学计算机应用基础考试题库

综合模拟(四)一、选择题。1、完整的计算机硬件系统一般包括外部设备和 C 。A、运算器的控制器 B、存储器 C、主机 D、中央处理器2、计算机能够自动工作,主要是因为采用了 D 。A、二进制数制 B、高速电子元件 C、存储程序控制 D、程序设计语言3、下面哪能一组是系统软…