介绍及安装

Flask-Script是一个让你的命令行支持自定义命令的工具,它为Flask程序添加一个命令行解释器。可以让我们的程序从命令行直接执行相应的程序。

安装

pip install Flask-Script

用于在终端启动项目

from flask import Flask
from flask_script import Manager app = Flask(__name__)
manager = Manager(app) if __name__ == '__main__':
manager.run()

启动项目

python manage.py runserver -h 0.0.0.0 -p 8888

用于在终端启动应用中脚本

1.使用Command 类

from flask_script import Manager

app = Flask(__name__)
# configure your app manager = Manager(app) from flask_script import Command class Hello(Command):
"prints hello world" def run(self):
print("hello world")
# 将命令添加到我们的Manager实例中,就像上面创建的一样:
manager.add_command('hello', Hello()) if __name__ == "__main__":
manager.run()

执行命令

python manage.py hello

可以将Command以字典的形式将实例传递给manager.run()

manager.run({'hello' : Hello()})

执行命令

python manage.py

2.使用@command装饰器

from flask import Flask
from flask_script import Manager app = Flask(__name__)
# configure your app
manager = Manager(app) @manager.command
def hello():
"Just say hello"
print("hello")
if __name__ == "__main__":
manager.run()

执行命令

python manage.py hello

3.使用@option装饰器

from flask_script import Manager
from app.models import User
from app import db,create_app myapp = create_app() manager = Manager(myapp) @manager.option('-u', '--username', help="指定用户名")
def add_user(username):
"""添加用户, 指定用户名和密码"""
if username:
u = User(name=username)
db.session.add(u)
db.session.commit()
return "添加用户%s成功" %(u.name)
else:
return "请指定用户" if __name__ == "__main__":
manager.run()

执行命令

python manage.py add_user -u xiaoqi
添加用户xiaoqi成功

可以提前写好一些命令,可通过命令行快速执行操作。比如上面的创建用户操作。

官方文档:https://flask-script.readthedocs.io/en/latest/

Flask-Scrip的更多相关文章

  1. flask+sqlite3+echarts2+ajax数据可视化

    前提: 准备Python + Flask+Sqlite3的平台环境(windows系统) 前面一节介绍flask怎么安装了,剩下sqlite3下载后解压,然后环境变量添加解压路径就行了 附加下载地址: ...

  2. flask+sqlite3+echarts2+ajax数据可视化报错:UnicodeDecodeError: 'utf8' codec can't decode byte解决方法

    flask+sqlite3+echarts2+ajax数据可视化报错: UnicodeDecodeError: 'utf8' codec can't decode byte 解决方法: 将 py文件和 ...

  3. Windows下快速安装Flask的一次经历

    前提: 1.已安装python版本(一般都是2.X) 2.已安装easy_install python安装,记得配置Python的环境变量,例如:我的直接在Path上加 G:\Python 验证安装P ...

  4. 使用Flask设计带认证token的RESTful API接口[翻译]

    上一篇文章, 使用python的Flask实现一个RESTful API服务器端  简单地演示了Flask实的现的api服务器,里面提到了因为无状态的原则,没有session cookies,如果访问 ...

  5. 使用python的Flask实现一个RESTful API服务器端[翻译]

    最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...

  6. python flask (一)

    from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World ...

  7. flask源码分析

    本flask源码分析不间断更新 而且我分析的源码全是我个人觉得是很beautiful的 1 flask-login 1.1 flask.ext.login.login_required(func),下 ...

  8. Python flask 基于 Flask 提供 RESTful Web 服务

    转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...

  9. Python flask @app.route

    转载自 http://python.jobbole.com/80956/ 下面是Flask主页给我们的第一个例子,我们现在就由它入手,深入理解“@app.route()”是如何工作的.         ...

  10. Flask 框架入门

    Flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 安装 Flask 依赖两个外部库, We ...

随机推荐

  1. Panabit镜像功能配合wireshark抓包的方法

    Panabit镜像功能配合wireshark抓包的方法 Panabit的协议识别都是基于数据包的特征,因此捕获数据包样本是我们进行识别第一步要做的事情.下面就和大家说一下如何捕获网络应用的数据包. 到 ...

  2. Dart基础使用手册

    程序入口 在每个app中必须有一个main()函数作为程序的入口点. 你可以在新建的flutter项目中找到它(main.dart) void main() => runApp(MyApp()) ...

  3. Linux就该这么学08学习笔记

    参考链接:https://www.linuxprobe.com/chapter-08.html 防火墙管理工具 众所周知,相较于企业内网,外部的公网环境更加恶劣,罪恶丛生.在公网与企业内网之间充当保护 ...

  4. 微信小程序(2)--下拉刷新和上拉加载更多

    下拉刷新 1.首先在.json文件中配置(如果在app.json文件中配置,那么整个程序都可以下拉刷新.如果写在具体页面的.json文件中,那么就是对应的页面下拉刷新.) 具体页面的.json文件: ...

  5. numpy知识点总结

    一.数组方法 创建数组:arange()创建一维数组:array()创建一维或多维数组,其参数是类似于数组的对象,如列表等 反过来转换则可以使用numpy.ndarray.tolist()函数,如a. ...

  6. (ACM模板)栈stack

    #include<iostream> #include<cstdio> #include<stack> using namespace std; stack< ...

  7. django学习笔记--数据库中的多表操作

    1.Django数据库----多表的新增操作 1.一对一模式下新增 创建一个详情对象,把这个对象赋值给创建的新的user对象 author_detail = models.AuthorDetail.o ...

  8. globalAlpha 示例

    代码实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  9. axios之前端发送get与post请求模板

    import axios from "axios"; 一.get mounted() { axios .get( "/api/queryusertree?domId=&q ...

  10. webRTC脱坑笔记(一)— 初识webRTC

    webRTC概述 WebRTC--- `Web browsers with Real-Time Communications (RTC)` WebRTC是一个开源项目,可以在`Web`和本机应用程序中 ...