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は常に値をリストに格納します。 '+'は "この引数に1つ以上の値があるかもしれない"ことを意味します。ちょうど1つの値を消費したいと思っているなら、 'nargs = '+''を省略することができます。 – wim