如何使用带有-l或--noinput等选项的call_command以编程方式调用collectstatic管理命令

时间:2015-04-28 06:50:51

标签: python django

我试图调用collectstatic命令usig call_command但是当我想使用像-l或--noinput

这样的选项时
django.core.management.call_command('collectstatic','--noinput')

它给我一个错误

CommandError: Command doesn't accept any arguments

请让我知道如何调用此方法,如何通过此选项。

先谢谢

2 个答案:

答案 0 :(得分:3)

这在Django的官方文档中有所涉及:(https://docs.djangoproject.com/en/1.8/ref/django-admin/#running-management-commands-from-your-code)调用命令的正确方法应该是:

from django.core.management import call_command

call_command('collectstatic', verbosity=0, interactive=False)

答案 1 :(得分:0)

检查collectstatic.py的源代码

add_arguments函数中,您正在寻找dest关键字。然后,您将该值作为参数传递给call_command()

编辑:但是,仔细查看后,我发现-l-c-n没有dest。因此,目前尚不清楚如何传递这些参数:(