Collectstatic仅适用于某些应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collectstatic仅适用于某些应用相关的知识,希望对你有一定的参考价值。

我在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连接和缩小的源文件)。

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

答案

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

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

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

以上是关于Collectstatic仅适用于某些应用的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 控制台应用程序中居中文本仅适用于某些输入

Facebook 应用程序请求 user_likes 的权限仅适用于某些用户

Group By仅适用于某些列

Collection.find() 仅适用于某些集合

jquery hover 仅适用于某些 div

jqGrid filterToolbar 仅适用于某些列