mange

2019-02-25 16:15:13来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

from flask import Flask
app = Flask(__name__)
manager = Manager(app)

1. 重写Command
    class ShellCommand(Command):
        """这里是用help查到信息"""
    # option_list = {
    #     Option("--name", "-n", dest="name"),  这两种方法创建命令, 都会爆红, 但是能正常用
    # }
 <<<def __init__(self, default_name="name"):
        self.default_name = default_name

    def get_options(self):
        return [
            Option("-n", "--name",dest="name", default=self.default_name)
        ]>>>
        def run(self):
            return "这是继承重写方法"
    # 1. 直接提交, 必须在run之前执行
    manager.add_command("sc", ShellCommand())
    # 2. 在run()中以字典形式提交
    manager.run({{"sc": ShellCommand()}})
    
    注意:
        1.1 方法有两种1为注释的, 2是<<<xx>>>中的
        

2. 装饰command
    @manager.command
    def cmd1(name=False):
        """这里是用help查到信息"""
        return "这是command创建的", "YES" if name else "NO"
    
    注意:
        2.1 这里创建带参数的调用方法:
            python file_name.py cmd1 -n      # 执行       ("这是command创建的", "YES")
            python file_name.py cmd1 --name  # 执行       ("这是command创建的", "YES")
            python file_name.py cmd1         # 不完整执行  ("这是command创建的", "NO") 数据没有传递到函数中
            
3. 装饰option
    @manager.option("-n", "--name", help="这里是用help查到信息", dest="name", default="aa")
    def cmd2(name):
        return "这是option创建的", name
    注:
        3.1 dest: 关键字参数的参数, 必须和命令--name中的name对应 可省略
        3.2 default: 关键字参数的默认值                        可省略

  


原文链接:https://www.cnblogs.com/hpcm/p/10433074.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python的基本类型介绍和可变不可变

下一篇:python迭代、可迭代对象、迭代器及生成器