0
我有以下代碼:如何通過Django管理命令*參數循環?
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