2016-06-10 39 views
0

我正在嘗試新的Flask 0.11命令行功能。我安裝了Flask 0.11.1和python 2.7.6。我設法定義了無參數的函數並讓它們執行:如何指定Flask 0.11.1 CLI函數參數

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

% flask hi 
hi 

如何爲命令指定參數?我想這是因爲從瓶的建議的:

@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應該命令後,而在第一次使用說它應該命令之前指定指定。

我也試過這樣:

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

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

回答

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