2012-01-19 17 views
1

興味のある人には素敵な静的ファイルの統合とless.jsを使用するDjango 1.3セットアップを実行しています。この場合静的ファイルがサブURIから提供されている場合、CSSのバックグラウンドイメージが見つからない

<link rel="stylesheet/less" type="text/css" href="{{ STATIC_URL }}less/style.less"> 
<script src="{{ STATIC_URL }}js/less.js" type="text/javascript"></script> 

/STATIC_URLは/静的である/ので、HTMLを処理する際のリンクは/静的になる:

私はに実行しています問題は、これがある:私は私のHTMLで

less/style.lessと/static/js/less.jsとなります。私は(簡体字)、次のしている私のLESSファイルに今

コード:

body { 
    background: url('../img/bkgnd.png'); 
} 

問題は、私は同じように可能性が高い、愚かされていない限り、私にLESSは、愚かなこれに対処するように見えるということです。 - 探しますCSSへのコンパイル時に)

少ないJSファイルがhttp://localhost:8000/static/js/less.jsとしてつかんで、その後http://localhost:8000/static/less/style.less

でCSSファイルをグラブれる今、私は小さいのでstyle.lessの場所を知っている必要があることを期待しますバックグラウンドoundの画像はhttp://localhost:8000/static/less/../img/bkgnd.pngで、これは明らかにちょうどhttp://localhost:8000/static/img/backgnd.png

ですが、代わりに場所を無視し、ちょうどhttp://localhost:8000/img/backgnd.pngで背景画像を探しているようです。

誰に説明がありますか?

静的URLを含むjavascript変数を設定し、CSSファイルの画像URLに先行させることで、一時的な修正を追加しました。これは開発には問題ありませんが、本番ではlesscを使用してコードをコンパイルしたいのですが、私が見る限りではjavascript変数を渡すことはできません。

任意の助けをいただければ幸いです、これはそれはあなたがいないCSSファイルに関連して、表示しているドキュメントに関係してIMGファイルを探している

+0

私はless.jsを使用しますが、それはその/ jsのディレクトリ以外始まりのように見えませんでしたか?パスを../static/img/background.pngに変更するとどうなりますか? – bzx

答えて

2

:-)狂気私を運転しています。

だからこれにあなたのCSSを変更:

body { 
    background: url('/static/img/bkgnd.png'); 
} 
+0

しかし、それはなぜ行動ですか?確かに、ファイルが少ない場所に比べ相対的に少ないファイルで相対パスの画像を探したいでしょうか?私は非常に長い間働きませんでしたので、多分これに理由がありますが、私は論理を見るのに苦労しています。 – Danger

+0

しかし、これは静的なURLをハードコードし、悪い習慣です。私のアプリケーションで/ media /に変更すると、少ないファイルで/ static /のすべてのインスタンスを変更する必要があります。私は実際の問題としてこれを見ていないが、私はコンパイル中の変数のサポートの欠如が本当の問題であると思う。 – Danger

+0

というタグをページ上に直接置くように考えてください。すべてがこのタグの付いたドキュメントに関連しています。 – giker

関連する問題