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