djangoユーザーの他のユーザーと同様に、私は静的ファイルを提供します。私は基本的にinto the coreを統合するdjango 1.3の準備をするためにdjango-staticfilesを使用することを選択しました。Django:静的ファイル(django dev/1.3/staticファイル)のメディアを参照するCSS
私の質問はとても簡単です。これは、複数のメディアソースをまとめてdjangoテンプレートの一貫した方法で参照するのに最適です。しかし、私は頻繁にそうようにCSSで画像の背景を使用します。
#itemname { background-image: url('/path/to/image.png'); }
私の質問は簡単です - 私は絶対的な名前を使用している場合、私はハードコードそれらに持っています。相対名を使用すると、「サブディレクトリ」に移動すると、これらのアイテムのリソースの場所が失われ、ロードできなくなります。
このソリューションをCSSに拡張するにはどうすればよいですか?
- をHTMLでCSSを埋め込む:ソリューションは避けなければならないと述べました。私は個人的にこれを避けます。
- ハードコードされたURLを使用。私のローカルセットアップでは、テスト用のApache(mod_wsgi)を使って 'localhost/project'を使用するのに対し、デプロイメントには
project.com
を使う傾向があるため、これはうまく動作しません。
アイデア?
私は確信していませんが、あなたは答えました.cssファイルに関連するCSSの 'background-image' URLか、ページが提供されているURLですか?もし前者がソートされていれば、私があなたが概説したものを正確に使うことができるからです。 –
ちょうどそれをテストしました - 相対的なCSSで動作するようです。私はそれに満足しています。ダニを! –
@Johnは、あなたのどこかで定義されたPROJECT_ROOTであるか、Djangoによって現在のProjectルート(あなたのmanage.pyがどこにあるか)として自動的に定義されます。 PROJECT_ROOTを自分で定義している場合は、開発環境にあるのか、(ディレクトリ構造としての)プロダクション環境にあるのかに基づいて変更する必要があります。 – David