collectstatic如何忽略子目录?

时间:2015-11-02 01:07:31

标签: django

这有效:

./manage.py collectstatic -i bower_components

这不是:

./manage.py collectstatic -i bower_components/owl-carousel2

似乎模式中不允许/,因为这也不起作用:

./manage.py collectstatic -i bower_components/

我想排除bower_components/owl-carousel2/src,因为静态清单收集器失败,我不需要该目录。如何使用模式跳过此文件夹?

3 个答案:

答案 0 :(得分:2)

不幸的是,你无法用“collectstatic”做到这一点。您只能按文件名或目录使用过滤器,而不能使用路径。

你可以忽略src文件夹,但这也可以忽略在不同地方重要的东西。

./manage.py collectstatic -i src

答案 1 :(得分:0)

ALLUSERS=1将支持Django 2.2中的路径。

答案 2 :(得分:0)

您还可以在Django的忽略模式列表中添加路径,以便始终在collectstatic上将其忽略。

从文档中:

默认的忽略模式列表['CVS','。','〜']可以比在每个collectstatic调用中提供--ignore命令选项更持久的方式进行自定义。提供一个自定义的AppConfig类,重写此类的ignore_patterns属性,并在INSTALLED_APPS设置中用该类路径替换'django.contrib.staticfiles':

from django.contrib.staticfiles.apps import StaticFilesConfig

class MyStaticFilesConfig(StaticFilesConfig):
    ignore_patterns = [...]  # your custom ignore list