почему collectstatic не копирует мои статические файлы?

У меня есть каталог MyApp/static/MyApp

когда я бегу ./manage.py collectstatic, я ожидаю, что каталог MyApp будет скопирован в STATIC_ROOT, но это не

Я также загрузил / static/DownloadedApp и скопировал его в STATIC_ROOT fine.

Что я упустил?

4 ответов


Что такое STATIC_ROOT, STATICFILES_FINDERS и STATICFILES_DIRS в своем settings.py?

, когда collectstatic выполняется, значение по умолчанию STATICFILES_FINDERS стоимостью django.contrib.staticfiles.finders.FileSystemFinder будет собирать ваши статические файлы из любых путей, которые у вас есть в STATICFILES_DIRS.

другие умолчанию STATICFILES_FINDERS стоимостью django.contrib.staticfiles.finders.AppDirectoriesFinder посмотрю в /static/ папка любых приложений в вашем INSTALLED_APPS.

все статические файлы будут помещены в указанный .

Регистрация из этой ссылки на collectstatic docs

и эта ссылка объясняет различные статические настройки в settings.py

вы также можете использовать python manage.py findstatic чтобы увидеть, какие директории collectstatic будет выглядеть.


Это просто случилось со мной, и я случайно поместил каталог статических файлов приложения в .файла.gitignore Поэтому на моей локальной машине он был собран просто отлично, но в производстве статические файлы фактически отсутствовали (gitignored).


Это случилось со мной, потому что во время расследования ошибки, происходящей в определенные даты, изменил дату и время моего компьютера.

поэтому он нарушил такие вещи, как collectstatic, а также историю моего браузера.

Не меняйте дату и время вашего компьютера.


У меня создалось впечатление, что сравнение будет основываться на содержании. Оказалось, что это дата. Итак, не связывайтесь с вашими файлами после collecstatic.