2
如何從命令行將多個參數傳遞給自定義的django管理命令?帶有自定義管理命令的值的多個參數
def add_arguments(self, parser):
parser.add_argument('str_arg1', nargs='+')
parser.add_argument('int_arg2', nargs='+', type=int)
當我運行:
./manage.py my_command str_arg1 value int_arg2 1 --settings=config.settings.local
我得到options
以下值:
options['str_arg1'] = ['str_arg1', 'value', 'int_arg2']
options['int_arg2'] = [1]
試圖傳遞的參數用的解決方案和多種方式搜索的文檔和在線沒有運氣。 Django版本是1.10。
感謝
非常感謝,該訣竅。很簡單。任何想法爲什麼它會把值列入清單?我現在使用'options ['str_arg1'] [0]' – Ovidiu
檢索它們當你使用'nargs ='+''時,argparse將始終將這些值存儲到列表中。 '+'的意思是「這個參數可能有一個或多個值」。如果你知道你只想消費一個值,你可以省略'nargs ='+''。 – wim