Collectstatic仅适用于某些应用

时间:2015-11-07 16:41:26

标签: python django gruntjs

我在Django项目中使用Grunt管理所有静态文件。我为我的项目设置了一个gruntfile,它获取所有js和css文件,然后进行concats并将它们缩小为一个文件。这些文件被复制到名为/static/source的目录中,在我的设置中,我已经配置了这样的静态文件:

STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, 'static/build'),
)

STATIC_ROOT = os.path.join(PUBLIC_ROOT, 'static')

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
)

这一切都很好,我对此没有任何问题。问题是当我尝试使用admin应用程序时。如果我添加STATICFILES_FINDERS django.contrib.staticfiles.finders.AppDirectoriesFinder,当我执行collectatic过程时,它还会复制我的应用程序中的所有静态文件(我使用Grunt连接和缩小的源文件)。

有没有办法只为某个应用收集静态文件?

1 个答案:

答案 0 :(得分:1)

您可以使用i命令的collectstatic标志来忽略来自应用的静态文件。

例如:python manage.py collectstatic -i app -i an_other_app

如果您使用grunt,则可以使用grunt-exec插件自动运行此命令。