【问题标题】:How do you specify Flask 0.11.1 CLI function arguments如何指定 Flask 0.11.1 CLI 函数参数
【发布时间】:2016-10-10 20:17:21
【问题描述】:

我正在尝试新的 Flask 0.11 命令行功能。我安装了 Flask 0.11.1 和 python 2.7.6。我已经设法定义了无参数函数并让它们执行:

@myapp.cli.command()
def hi():
    print "hi"

% flask hi
hi

如何为命令指定参数?由于 Flask 的建议,我尝试了这个:

@myapp.cli.command()
def hi(foo):
   print foo

% flask nowayjose
Usage: flask [OPTIONS] COMMAND [ARGS]...

Error: No such command "nowayjose".

% flask hi there
Usage: flask hi [OPTIONS]

Error: Got unexpected extra argument (there)

我也很困惑,因为用法说 OPTIONS 应该在 COMMAND 之后指定,而第一个用法说它应该在 COMMAND 之前指定。

我也试过这个:

@recargo.cli.command()
def hi(foo=None):
    print foo

% flask hi
None
% flask hi --foo 'bar'
Error: no such option: --foo

【问题讨论】:

    标签: python-2.7 flask


    【解决方案1】:

    啊,我看了点击,这是指定标志参数的方法:

    @myapp.cli.command()
    @click.option('--foo', default="woo")
    def hi(foo):
        print foo
    
    % flask hi --foo
    woo
    

    对于位置参数:

    @myapp.cli.command()
    @click.argument('arg')
    def hi(arg):
        print arg
    
    % flask hi foobar
    foobar
    

    【讨论】:

      猜你喜欢
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 2022-01-08
      • 1970-01-01
      • 2022-01-25
      • 2014-01-05
      • 1970-01-01
      相关资源
      最近更新 更多