我在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连接和缩小的源文件)。
有没有办法只为某个应用收集静态文件?
答案 0 :(得分:1)
您可以使用i
命令的collectstatic
标志来忽略来自应用的静态文件。
例如:python manage.py collectstatic -i app -i an_other_app
如果您使用grunt,则可以使用grunt-exec
插件自动运行此命令。