如何指定Flask 0.11.1 CLI函数参数

时间:2016-06-10 01:04:14

标签: python-2.7 flask

我正在尝试新的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)

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

我也试过这个:

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

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

1 个答案:

答案 0 :(得分:1)

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

@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