将标志传递给Django call_command

时间:2018-02-05 00:59:43

标签: python django

如何将标志传递给Django的call_command()

我认为它只是call_command('command', flag=True),但这在Django 1.11中不起作用。

我正在尝试从单元测试中运行manage.py collectstatic --noinput,但即使我称之为:

call_command('collectstatic', noinput=True)

我的unittest一直挂着,因为collectstatic提示输入。

1 个答案:

答案 0 :(得分:1)

通过查看Django collectstatic来源

parser.add_argument(
    '--noinput', '--no-input', action='store_false', dest='interactive',
    help="Do NOT prompt the user for input of any kind.",
)

可见,目标参数是交互式的,因此以下值应设置为False

call_command('collectstatic', interactive=False)