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 использовать модуль стандартного [argparse] (https://docs.python.org/3/library/argparse.html) (анализатор вы получите подкласс 'ArgumentParser'). Документация довольно обширна и имеет пару примеров. Очень жаль, что документация Django не связана с документами модуля argparse. – spectras