Я использую django-compressor для конкатенации и сжатия моих CSS и JS файлов на этом сайте, Я обслуживаю статические файлы из ведра S3.
На моей локальной копии сайта, используя другой ведро S3, все это работает отлично. Но на реальном сайте, размещенном на Heroku, все работает, за исключением того, что относительные URL-адреса изображений в файлах CSS не переписываются.
например, эта строка в файле CSS:
background-image: url("../img/glyphicons-halflings-grey.png");
переписывается на:
background-image:url('https://my-dev-bucket-name.s3.amazonaws.com/static/img/glyphicons-halflings-grey.png')
на моем сайте разработки, но не затрагивается на сайте. Таким образом, веб-сайт заканчивается поиском pepysdiary.s3.amazonaws.com/static/CACHE/img/
для изображений (как относительно нового сжатого файла CSS).
На данный момент я поместил каталог в это место, содержащее изображения, но я не могу понять, почему существует эта разница. Оба сайта имеют это в своих настройках:
COMPRESS_CSS_FILTERS = [
# Creates absolute urls from relative ones.
'compressor.filters.css_default.CssAbsoluteFilter',
# CSS minimizer.
'compressor.filters.cssmin.CSSMinFilter'
]
И файлы CSS сводятся к минимуму просто отлично... но он, как и другой фильтр, не применяется на реальном сайте.