[英]How can I loop through Django management command *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
。
這種方法解決了我的問題。
def add_arguments(self, parser):
parser.add_argument('args', nargs='+')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.