我同意这很烦人——你可以做几件事。我覆盖了 collectstatic 命令并将其连接到我的生产设置中。以下是我使用的命令:
```
from django.core.management.base import BaseCommand
class Command(BaseCommand):
args = '< none >'
help = "disables collectstatic cmd in contrib"
def handle(self, *args, **kwargs):
print 'collectstatic disabled'
```
我把它保存在 mysite/disablecollectstatic/management/commands 然后在生产设置中:
INSTALLED_APPS += ('mysite.disablecollectstatic',)
或者,您可以使用 Heroku 在实际调用命令之前先进行空运行的事实。如果它失败了,它将不会运行它,这意味着您可能会制造错误(例如,通过删除设置中的静态根目录),但这种方法让我感到紧张:
https://devcenter.heroku.com/articles/django-assets#detection