Flask:Flask-script插件
Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任务,使得脚本与系统分开
Flask-Script与Flask本身的工作方式类似,只需要定义和添加从命令行中被Manager实例调用的命令,使用Flask-Script可以轻松的给Flask项目添加脚本命令
1、安装Flask-Script
命令:
pip install flask-script

2、创建并运行命令
首先,创建一个python模板运行命令脚本,这里使用manage.py
在该文件中,必须有一个Manager实例,Manager类追踪所有在命令行中调用的命令和处理过程的调用运行情况
Manager只有一个参数——Flask实例
调用Manage.run()启动Manager实例接收命令行中的命令
manage.py
from models import models
from views import app
from flask_script import Manager manage = Manager(app) # 当执行python manage.py migrate时调用migrate函数
@manage.command
def migrate():
models.create_all() if __name__ == '__main__':
manage.run()
这样配置完毕后,我们可以再对pycharm进行配置,这样就可以使用pycharm运行项目,还可以使用Debug进行断点调试

修改默认的runserver配置,命令:
manage.py
from views import app
from flask_script import Manager, Server manage = Manager(app)
manage.add_command("runserver", Server(use_debugger=True, host="127.0.0.1", port=8000))
运行效果:

仅在命令行运行项目时候起作用,使用pycharm运行时该配置无效
3、使用Flask-Script创建命令的方法
(1)使用command子类
manage.py
from flask_script import Manager, Command manage = Manager(app) class Hello(Command):
def run(self):
print("hello") manage.add_command("hello", Hello())
(2)使用command装饰器
manage.py
from flask_script import Manager manage = Manager(app) # 当执行python manage.py migrate时调用migrate函数
@manage.command
def migrate():
models.create_all()
执行效果:

(3)使用option装饰器
复杂情况下,建议使用option
manage.py
from flask_script import Manager, Command
manage = Manager(app)
@manage.option("-n", "--name", dest="name", default="world")
def hello(name):
print("hello %s" % name)
执行结果:

Flask:Flask-script插件的更多相关文章
- No module named flask.ext.script 解决方法
把 .ext. 换成 _ 就OK了 from flask.ext.script import Manager from flask_script import Manager
- Inside Flask - flask 扩展加载过程
Inside Flask - flask 扩展加载过程 flask 扩展(插件)通常是以 flask_<扩展名字> 为扩展的 python 包名,而使用时,可用 import flask. ...
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- [python][flask] Flask 图片上传与下载例子(支持漂亮的拖拽上传)
目录 1.效果预览 2.新增逻辑概览 3.tuchuang.py 逻辑介绍 3.1 图片上传 3.2 图片合法检查 3.3 图片下载 4.__init__.py 逻辑介绍 5.upload.html ...
- Inside Flask - flask.__init__.py 和核心组件
Inside Flask - flask.__init__.py 和核心组件 简单的示例 首先看看一个简单的示例.使用 Flask ,通常是从 flask 模块导入 Flask . request 等 ...
- Inside Flask - Flask 简介
Inside Flask - Flask 简介 前言 Flask 的设计目标是实现一个 wsgi 的微框架,其核心代码保持简单和可扩展性,很容易学习.对于有一定经验初学者而言,跟着例子和一些书的代码来 ...
- Flask - Flask的蓝图(BluePrint)
目录 Flask - Flask的蓝图(BluePrint) 一. 初始Flask蓝图 进阶Flask蓝图 使用蓝图做一个增删改查 1.使用蓝图进行web应用搭建: 2.使用Flask蓝图,查看学生信 ...
- day92:flask:flask简介&基本运行&路由&HTTP请求和响应
目录 1.Flask简介 2.关于使用flask之前的准备 3.flask的基本运行 4.flask加载配置 5.传递路由参数(没有限定类型) 6.传递路由参数(通过路由转换器限定路由参数的类型) 7 ...
- Flask之Flask_Session插件
一,Flask_Session介绍 因为flask自带的session是将session存在cookie中: 所以才有了第三方Flask_session插件,可以将session存储在我们想存储的数据 ...
随机推荐
- jQuery常用方法(六)-jQuery 工具
JQuery Utilities 方法说明 jQuery.browser .msie 表示ie jQuery.browser.version 读取用户浏览器的版本信息 jQuery.boxModel ...
- LAMP模拟搭建wordpress,phpmyadmin环境
1.安装需要的环境,centos7的mysql叫mariadb,所有的配置文件默认就可以 [root@test ~]# yum install httpd php mariadb mariadb-se ...
- Git基础概念与Flow流程介绍
目录 Git相关 基本概念 常见客户端 TortoiseGit Sourcetree Intellij Idea 命令行 常用命令 存储区域 命令之 add & commit &pus ...
- ActiveMQ学习总结------入门篇01
注:*这篇博文文章主要介绍ActiveMQ是什么原理性的内容和如何安装和简易操作 一. ActiveMQ 简介 1 ActiveMQ是什么呢?看起来好碉堡的东西哇! ActiveMQ 是 Apach ...
- pycharm 2019/10 激活码 最新福利 (1)
MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lIjoiI ...
- 强大得分布式项目管理工具Git
---恢复内容开始--- 强大的分布式管理工具-Git(一) 前言:最近忙着写项目,在期间呢,用的是git管理,由于一个项目的管理是很重要得,所以整理了一篇关于git得博客跟大家分享一下.大家都知道, ...
- 2.linux系统基础笔记(延时操作、实时系统中的定时器、事件)
延时操作 延时操作是操作系统中经常遇到的一种情形.延时的原因很多,有的时候是为了等待外设芯片处理结束,有的时候是为了暂时释放cpu的使用权,有的就是为了希望在一段时间获取资源,如果没法在单位时间内获取 ...
- python编程基础之三十一
面向对象:一开始接触面向对象其实感觉不好用,但是对于一些复杂的问题,使用面向对象其实更加容易,逻辑不容易混乱 它的核心是:类 和 对象 类:对一系列事物的抽象概念,可以视为一张图纸, 对象:就是对类这 ...
- DM7经常使用的命令汇总
由于DM7兼容oracle ,所以当你不知道某个命令时,大抵就是可以参照oracle的命令及语法,当然有极少的情况会不一样.常用命令如下: 1.连接登录 disql SYSDBA/SYSDBA@223 ...
- [USACO14JAN]滑雪等级Ski Course Rating
题目描述 The cross-country skiing course at the winter Moolympics is described by an M x N grid of eleva ...