6

ストレージバックエンドをAmazonS3に変更したところ、自分のサイトのバックグラウンドが読み込まれていないことに気付きました。私は自分のCSS(実際にはSASS)でバックグラウンドURL(static/mysite/images/background.gif)を指定していることに気づきました。

この問題をどのように修正すればよいのでしょうか。もちろん、新しい静的URLに変更することもできますが、それは悪い習慣のようです。{{ STATIC_URL }}そこで、bodyHTMLにを使用して背景画像をロードしようとrepeat: no-repeat;しましたが、実際のCSSでレンダリングする前に、最初に背景をレンダリングし、CSSのロード中に画面全体で背景を繰り返します。とにかく、自分のスタイルをドキュメントに混ぜるのは好きではありません。

では、Djangoで背景画像の相対パスを提供するための最良の方法は何ですか?CSSをテンプレートとして設定し、ビューを介してCSSに送信する必要がありますか?それも厄介なようです。

または、static_urlに依存しないようにすることを忘れて、CSSにハードコーディングする必要がありますか?

4

1 に答える 1

8

ジャンゴコンプレッサー!

テンプレート内に CSS のスニペットを直接レンダリングして、最終的に 1 つのファイルに結合することも、オプションを指定して、django のテンプレート エンジンとコンテキストで CSS ファイルの解析を有効にすることもできます: http://django_compressor.readthedocs.org/en /latest/settings/#django.conf.settings.COMPRESS_CSS_FILTERS

CSS を管理する際にパフォーマンスについて考える必要がないため、これは驚くべきことであり、苦労する価値があります。

于 2012-01-23T00:53:23.363 に答える