Flask17 Flask_Script插件的使用
1 什么是Flask_Script
可以对flask应用做一些统一的操作
flask_script官网:点击前往
2 安装flask_script
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Flask-Script
3 如何使用flask_script编程
2.1 从flask_script模块中导入相关的类
from flask_script import Manager, Command
2.2 获取一个flask应用的实例
2.2.1 从外部导入的方法
from get_app import app
2.2.2 自己创建的方法
from flask import Flask
app = Flask(__name__)
2.3 创建一个Manager是咧
注意:创建Manager实例时需要用到Flask对象
manager = Manager(app)
2.4 创建自己的命令(有三种方式)
2.4.1 继承Command父类的编程步骤
- class Hello(Command):
- def run(self): # 必须实现run方法
- print("Hello World.")
将创建的方法添加到Manager对象中去
manager.add_command('hello', Hello())
- manager.run({
- 'hello': Hello()
- })
上面的代码可以这样写在run里面
运行manager.py文件并在后面添加 hello 就会执行刚刚创建的命令
python3 manager.py hello
- from flask_script import Manager, Command
- from flask import Flask
- app = Flask(__name__)
- manager = Manager(app) # 实例化Manager
- class Hello(Command):
- def run(self): # 必须实现run方法
- print("Hello World. Helo Boy.")
- manager.add_command('hello', Hello()) # 将命令添加到Manager对象中
- if __name__ == "__main__":
- manager.run()
manager.py
2.4.2 利用@manager.command注解实现(不带参数)
- from flask_script import Manager, Command
- from get_app import app
- manager = Manager(app)
- @manager.command
- def hello():
- print("Hello Warrior.")
- if __name__ == "__main__":
- manager.run()
manager.py
运行manager.py文件并在后面添加 hello 就会执行刚刚创建的命令
python3 manager.py hello
2.4.3 利用@manager.option('-n', '--name', help='Your name')注解实现(带参数)
- from flask_script import Manager, Command
- from get_app import app
- manager = Manager(app)
- @manager.option('-n', '--name', help='Your name')
- def hello(name):
- print("hello", name)
- if __name__ == "__main__":
- manager.run()
manager.py
运行manager.py文件并在后面添加 hello 就会执行刚刚创建的命令, 可以在后面跟参数,如果不跟参数就为None
python3 manager.py hello --name=warrior
或者
python3 manager.py hello -n=warrior
3 利用命令启动Flask项目
manager.add_command('start', Server(host='0.0.0.0', port=5555))
解释:Server() 对应着一个继承了Comman的类,而且其内部实现了run() 方法
注意:需要从flask_script中导入Server
- from flask_script import Manager, Command, Server
- from get_app import app
- manager = Manager(app)
- manager.add_command('start', Server(host='0.0.0.0', port=5555))
- if __name__ == "__main__":
- manager.run()
manager.py
执行 python3 manager.py start 就会自动启动Flask项目,而且会监听所有的IP, 端口号是5555
Flask17 Flask_Script插件的使用的更多相关文章
- Flask16 项目结构、flask_script插件
1 项目结构 需求:易维护.可扩展 1.1 views 处理逻辑和路由映射 C 1.2 models 模型类 M 1.3 templates 模板文件 V 1.4 static 今天文件,如:js.c ...
- flask中manage.py的用法
flask中manage.py的用法#!/usr/bin/env pythonimport osfrom app import create_app, dbfrom app.models import ...
- Flask框架 (四)—— 请求上下文源码分析、g对象、第三方插件(flask_session、flask_script、wtforms)、信号
Flask框架 (四)—— 请求上下文源码分析.g对象.第三方插件(flask_session.flask_script.wtforms).信号 目录 请求上下文源码分析.g对象.第三方插件(flas ...
- Flask插件---flask_script与flask_migrate
import app from flask_script import Manager from flask_migrate import Migrate,MigrateCommand my_app ...
- Flask的插件session、SQLAlchemy、Script、Migrate
一.flask-session 1.为什么要使用flask-session 因为flask默认的session是通过请求上下文放入到Local中的,是存在内存的,而使用flask-session可以更 ...
- 第五篇 Flask组件之SQLAchemy及Flask-SQLAlchemy插件/Flask-Script/Flask-migrate/pipreqs模块
SQLAlchemy组件 一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然 ...
- Flask:Flask-script插件
Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任 ...
- FLask插件
Flask插件 flask-session 下载 pip install Flask-session 导入 from flask_session import Session 实例化session 在 ...
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
随机推荐
- 【leetcode刷题笔记】Permutation Sequence
The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the p ...
- 小学生都能看懂的数位dp
前言 数位dp其实很久前就知道了,也做过几道和其他算法混在一起的题目,其实通过手玩是能做的 但毕竟是种算法,还是系统学下比较好(节省手玩时间) 模板题 P2602 [ZJOI2010]数字计数 化简题 ...
- Docker DNS
从 Docker 1.10 版本开始,docker daemon 实现了一个内嵌的 DNS server,使容器可以直接通过“容器名”通信. 方法很简单,只要在启动时用 --name 为容器命名并且连 ...
- HDU 1255 覆盖的面积 (线段树扫描线+面积交)
自己YY了一个的写法,不过时间复杂度太高了,网上的想法太6了 题意:给你一些矩阵,求出矩阵的面积并 首先按照x轴离散化线段到线段树上(因为是找连续区间,所以段建树更加好做). 然后我们可以想一下怎样 ...
- linux 软件包的命名规则
linux软件包的命名规则 eg:主包 bind-9.7.1-1.el7.i586.rpm 子包 bind-libs-9.7.1-1.el7.i586.rpm bind-utils-9. ...
- DBGrid1
A.ShowMessage(IntToStr(Column.Index)); B.ShowMessage(IntToStr(dbgrid1.SelectedField.Index)); .得到当前 ...
- JS多项选择删除
$(document).ready(function(){ $("#batdel").click(function(){ var checkedLen = 0; var check ...
- 六 Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多
链表操作 链表,就是一张表的外键字段,连接另外一张表的主键字段 一对多 models.ForeignKey()外键字段一对多,值是要外键的表类 from __future__ import unico ...
- 如何更好的理解js中的this,分享2段有意思的代码
关于js中this的浅析,大家可以点击[彻底理解js中this的指向,不必硬背]这篇博客了解. 今天遇到2段比较有意思的代码. ----------------第一段----------------- ...
- jQuery 参考手册 - 选择器
jQuery 选择器 选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元 ...