码迷,mamicode.com
首页 > 其他好文 > 详细

Flask17 Flask_Script插件的使用

时间:2017-10-28 22:08:59      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:ide   运行   sel   int   如何使用   __name__   http   内部实现   利用   

 

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插件的使用

标签:ide   运行   sel   int   如何使用   __name__   http   内部实现   利用   

原文地址:http://www.cnblogs.com/NeverCtrl-C/p/7748024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!