首先在启动Flask项目时,我们可以传不同的参数作为运行参数。但是我们只能在入口app.run()传参。这样十分的不方便。Flask-Script 是一个 Flask 扩展,为 Flask 程序添加了一个命令行解析器。 Flask-Script 自带了一组常用选项,而且还支持自定义命令。

  自定义创建命令的方法有三种:

from flask import Flask
from flask_script import Manager
from flask_script import Command app = Flask(__name__) manager = Manager(app) class Hello(Command):
'hello world' def run(self):
print('hello world!') #绑定到Hello函数
manager.add_command('hel', Hello()) if __name__ == '__main__':
manager.run()

  执行

(flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hel
hello world!

  第二种方法

from flask import Flask
from flask_script import Manager
from flask_script import Command app = Flask(__name__) manager = Manager(app) #绑定到Hello函数
@manager.command
def hi():
print('hello world!') if __name__ == '__main__':
manager.run()

  运行

(flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi
hello world!

  当参数多个时,使用第三种方式

from flask import Flask
from flask_script import Manager app = Flask(__name__) manager = Manager(app) @manager.option('-n', '--name', dest='name', help='Your name', default='world')
def hi(name):
'hello world or hello <setting name>'
print('hello', name) if __name__ == '__main__':
manager.run()

  运行结果:

(flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi
hello world
(flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi -n jeff
hello jeff
(flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi --name jeff
hello jeff
(flask_blog) jeff@debian:~/PycharmProjects/flask_blog$ python script_test.py hi --name jeff1
hello jeff1

flask-script插件的更多相关文章

  1. Flask的插件session、SQLAlchemy、Script、Migrate

    一.flask-session 1.为什么要使用flask-session 因为flask默认的session是通过请求上下文放入到Local中的,是存在内存的,而使用flask-session可以更 ...

  2. flask+script命令行交互工具

    Project name :Flask_Plan templates:templates static:static 首先说,我们flask比django方便的地方是所有的模块都可以自己选,你不喜欢s ...

  3. flask第三方插件WTForms

    在django中有ModelForm, 虽然flask原生没有提供, 但是强大的第三方也提供了这样的功能 虽然不如django的强大, 但是基本的功能还是可以有的, 下面就来使用一哈. WTForms ...

  4. flask的插件

    详情参考官方文档 组件一:flask-session 安装: pip  install  flask-session 使用方法:先导入   from flask_session import Sess ...

  5. flask登录插件 flask-login

    Flask-Login为Flask提供了用户会话管理,它处理了日常的登入登出且长时间记住用户的会话 使用: 1.配置,初始化 LoginManager 创建实例 loginManger = Login ...

  6. Flask script 内的Shell 类 使用

    1.集成Python shell 每次自动shell会话都要导入数据库实例和模型,很烦人.为了避免一直重复导入,我们可以做些配置让Flask-Script的Shell命令自动导入特定的对象.若想把对象 ...

  7. flask第三方插件DBUtils

    django中有强大的ORM支持我们来操作数据库, 但是flask没有提供对数据库的操作, 依然还是需要第三方的支持, 来提高我们的开发效率. 下载DBUtils 使用DBUtils 使用DBUtil ...

  8. Flask deployment on gunicorn with flask script

    https://stackoverflow.com/questions/34265870/flask-deployment-on-gunicorn-with-flask-script 依赖 Flask ...

  9. 基于Flask的Web应用程序插件式结构开发

    事实上,很多应用程序基于插件式结构开发,可以很方便了扩展软件的功能,并且这些功能完全可以依托于第三方开发者,只要提供好接口和完备文档,比如wordpress.谷歌火狐浏览器等. Python这样的动态 ...

  10. python 全栈开发,Day142(flask标准目录结构, flask使用SQLAlchemy,flask离线脚本,flask多app应用,flask-script,flask-migrate,pipreqs)

    昨日内容回顾 1. 简述flask上下文管理 - threading.local - 偏函数 - 栈 2. 原生SQL和ORM有什么优缺点? 开发效率: ORM > 原生SQL 执行效率: 原生 ...

随机推荐

  1. Synchronized关键字整理

    Synchronized关键字整理 作用:能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全效果. 两个用法: 1.对象锁: 包括方法锁(默认锁对象为this当前实例对象)和同步代码块 ...

  2. c#写出乘法口诀

    显然是显得无聊五分钟写的乘法口诀 static void Main(string[] args)        {            int dq;            int[] array ...

  3. Latex 分块矩阵的处理

    在 \(\mathrm{\LaTeX}\) 中,如果想输入类似的矩阵: 可以这样实现: \[ \left[ \begin{array}{cc|cc|c} \lambda & 0 & 1 ...

  4. 设置与使用SQL Server的字符集(Collation,即排序规则)

    目录 目录 正确认识SQL Server的字符集 选择合适的SQL Server字符集 错误使用SQL Server的字符集 参考资料 正确认识SQL Server的字符集 SQL Server作为一 ...

  5. bzoj3545 [ONTAK2010]Peaks、bzoj3551 [ONTAK2010]Peaks加强版

    题目描述: bzoj3545,luogu bzoj3551 题解: 重构树+线段树合并. 可以算是板子了吧. 代码(非强制在线): #include<cstdio> #include< ...

  6. axure笔记--内部框架交互链接

    内部框架的作用: 1.可以引用站点地图的页面 2.可以引用视频(链接视频)(axure中没有媒体控件) 3.可以引用本地文件 4.引用网页(注意:1.超链接地址要加上http://   2.内部框架大 ...

  7. laravel中的路由

    相信玩过laravel框架的小伙伴们,都知道它路由的强大之处 今天我想给大家分析下这个 首先 要找到配置路由的位置 routes这个目录下,我们找到web.php文件 里面可以看到现成的一个路由 Ro ...

  8. 《嵌入式linux应用程序开发标准教程》笔记——6.文件IO编程

    前段时间看APUE,确实比较详细,不过过于详细了,当成工具书倒是比较合适,还是读一读这种培训机构的书籍,进度会比较快,遇到问题时再回去翻翻APUE,这样的效率可能更高一些. <嵌入式linux应 ...

  9. \include\configs\mx6q_sabresd.h

    /* * Copyright (C) 2012 Freescale Semiconductor, Inc. * * Configuration settings for the MX6Q Sabre ...

  10. ServletResponse使用方法

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和response对象即然代表请求和响应,那我们要 ...