0
私は、次のコードを持っている:私は、このコマンドを実行するとDjango管理コマンド* argsをどのようにループできますか?
class Command(BaseCommand):
help = 'Build static site output.'
def add_arguments(self, parser):
parser.add_argument('args')
def handle(self, *args, **options):
"""Request pages and build output."""
if args:
pages = args
available = list(get_pages())
invalid = []
for page in pages:
if page not in available:
invalid.append(page)
if invalid:
msg = 'Invalid pages: {}'.format(', '.join(invalid))
raise CommandError(msg)
else:
...
は、しかし:
python prototypes.py build index
コマンドは、単語index
の各文字をループします。
CommandError: Invalid pages: i, n, d, e, x
私はそれがindex
一つとして引数を検出したいと私はそれの間にスペースでより多くの引数を提供する場合、それらをループする必要があります。
add_arguments
メソッドを追加しないと、コンソールにunrecognized argument
と表示されます。
Djangoのコマンドは(あなたが得るパーサは 'ArgumentParser'のサブクラスである)標準[argparse](https://docs.python.org/3/library/argparse.html)モジュールを使用しています。ドキュメントは非常に広範で、いくつかの例があります。 Djangoのドキュメントは、argparseモジュールのドキュメントにリンクしていません。 – spectras