Как указать Django staticfiles не собирать загруженные пользователем файлы каталога мультимедиа? - PullRequest
5 голосов
/ 29 февраля 2012

У меня очень простой вопрос, на который я не смог найти ответ.Используя приложение Django staticfiles, я вызываю процедуру сбора статики, набирая следующую командную строку: python manage.py collectstatic.

Моя проблема в том, что у меня есть несколько приложений, обслуживающих статику + каталог мультимедиа , содержащий пользователязагруженные файлы.Django копирует все файлы в статический каталог, включая медиа-файлы!

Я просто хотел бы, чтобы Django не копировал загруженные пользователем файлы в статический каталог при вызове python manage.py collectstatic.У кого-нибудь есть идея?Пробовал --ignore вариант, но безуспешно ...

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 04 апреля 2012

Это проблема django.contrib.staticfiles.finders.DefaultStorageFinder, попробуйте удалить ее из STATICFILES_FINDERS.

0 голосов
/ 29 февраля 2012

Так что же не работает, если вы используете --ignore?

Хотя реальное решение не состоит в том, чтобы смешивать пользовательский контент и статические файлы.

Если вы храните оба типа отдельно, вы можете легко поставить свои статические файлы под контроль версий, и вам не придется иметь дело с исключениями на этом фронте. И на самом деле разделение между носителями (сгенерированными пользователем) и статическими файлами является логическим обоснованием статических файлов:

В предыдущих версиях Django обычно размещались статические ресурсы. в MEDIA_ROOT вместе с загруженными пользователем файлами и обслуживать их обоих в MEDIA_URL. Одной из целей внедрения приложения staticfiles является чтобы было проще хранить статические файлы отдельно от загруженных пользователем файлы.

Документы по этой теме действительно всеобъемлющие: https://docs.djangoproject.com/en/dev/howto/static-files/

...