• 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

          

  • 相关阅读:
    工厂模式
    将WebApi Host到控制台和IIS
    模板方法模式
    策略模式
    插件式WebApi服务及自动生成Api帮助文档
    单例模式
    外观模式
    论文序号的结构层次顺序
    计算机面试之Session、Cookie、Token
    Django的日常操作
  • 原文地址:https://www.cnblogs.com/NeverCtrl-C/p/7748024.html
Copyright © 2020-2023  润新知