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插件的使用的更多相关文章

  1. Flask16 项目结构、flask_script插件

    1 项目结构 需求:易维护.可扩展 1.1 views 处理逻辑和路由映射 C 1.2 models 模型类 M 1.3 templates 模板文件 V 1.4 static 今天文件,如:js.c ...

  2. flask中manage.py的用法

    flask中manage.py的用法#!/usr/bin/env pythonimport osfrom app import create_app, dbfrom app.models import ...

  3. Flask框架 (四)—— 请求上下文源码分析、g对象、第三方插件(flask_session、flask_script、wtforms)、信号

    Flask框架 (四)—— 请求上下文源码分析.g对象.第三方插件(flask_session.flask_script.wtforms).信号 目录 请求上下文源码分析.g对象.第三方插件(flas ...

  4. Flask插件---flask_script与flask_migrate

    import app from flask_script import Manager from flask_migrate import Migrate,MigrateCommand my_app ...

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

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

  6. 第五篇 Flask组件之SQLAchemy及Flask-SQLAlchemy插件/Flask-Script/Flask-migrate/pipreqs模块

    SQLAlchemy组件 一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然 ...

  7. Flask:Flask-script插件

    Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任 ...

  8. FLask插件

    Flask插件 flask-session 下载 pip install Flask-session 导入 from flask_session import Session 实例化session 在 ...

  9. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

随机推荐

  1. PHP数组各种操作与函数汇总

    对于Web编程来说,最重要的就是存取和读写数据了.存储方式可能有很多种,可以是字符串.数组.文件的形式等.数组,可以说是PHP的数据应用中较重要的一种方式.PHP的数组函数众多,下面是我学习的小结,借 ...

  2. 用 Java 技术创建 RESTful Web 服务

    JAX-RS:一种更为简单.可移植性更好的替代方式 JAX-RS (JSR-311) 是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松.这个 API 提供了一种基于 ...

  3. 系统安装记录 install OS

    上个系统很乱,基本系统是lfs7.7,上面应用都是基于lfs7.9,基本系统是才接触lfs时搭建的,打包保存后一直没怎么使用过,到lfs7.10快出来的时候有段时间有空就拿出来跑了一下,安装了一些软件 ...

  4. 剑指offer之 二维数组的查找

    package Problem3; public class Find { /* * 题目描述:二维数组中的查找 * 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的顺序排 ...

  5. 目标检测 — one-stage检测(二)

    one-stage检测算法,其不需要region proposal阶段,直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,因此有着更快的检测速度,比较典型的算法如YOLO,S ...

  6. Runtime Error(ACCESS_VIOLATION)

    1.     while(scanf("%d",&n) )// 错误,会出现  Runtime Error(ACCESS_VIOLATION) while(scanf(&q ...

  7. 关于MFC的DLL调用方法问题

    参考资料: 一.dll导出方式: MFC的DLL函数导出方法有两种:一种是通过模块定义文件DEF文件:另一种是在导出函数前加_declspec(dllexport). 1.def文件方法: 只需要在E ...

  8. 尴尬的app:layout_scrollFlags="scroll|enterAlways" 配合NavigationDrawer

    昨天想到了NavigationDrawer中Item点击的问题. 点击Drawer中的一个Item需要到一个新的页面,你是应该打开一个新的Activity呢还是直接用fragment呢? 如果打开新的 ...

  9. Smooks:xml-to-java

    引言: Smooks是一个开源的Java框架,用于处理“数据事件流”.它常常被认为是一个转换框架并以此被用于好几个产品和项目中,包括JBoss ESB(以及其它ESB).然而究其核心,Smooks未提 ...

  10. OpenAL播放pcm或wav数据流-windows/ios/android(一)

    OpenAL播放pcm或wav数据流-windows/iOS/Android(一)   最近在研究渲染问题,本文采用openal做pcm和wav数据流播放,并非本地文件,demo是windows的,i ...