私はdjango-compressorを使用して、このサイトの CSS ファイルと JS ファイルを連結および圧縮しています。S3 バケットから静的ファイルを提供しています。
サイトのローカル コピーで、別の S3 バケットを使用すると、これはすべて完全に機能します。しかし、Heroku でホストされているライブ サイトでは、CSS ファイル内の画像の相対 URL が書き換えられないことを除けば、すべて機能します。
たとえば、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 ファイルは問題なく最小化されていますが、実際のサイトでは他のフィルターが適用されていないようです。