組み込みの静的アプリで Django 1.3 を使用しています。
私の静的フォルダー構造は次のようになります。
static/
css/
main.css
img/
js/
そこで、次static/css/img/
のようにCSSからフォルダの下の画像を参照しようとしました:
background:url('img/btn_white.gif') repeat-x;
しかし、画像は表示されません。Chrome で要素を調べると、画像のパスがhttp://localhost/mysite/static/css/main.css/img/btn_white.gif/
static/css/
この相対パスはではなくフォルダーを参照する必要があるため、これは非常に奇妙ですmain.css
。そこで、パスを に変更しようとしましたがurl('../img/btn_white.gif')
、Chrome と Firefox では機能しますが、IE では機能しません。
私の純粋な HTML/CSS では、この相対パスは問題なく機能するため、この問題は Django に関連していると確信しています。css も media フォルダーに入れようとしましたが、問題は同じです。
静的アプリに関連する私の設定:
settings.py で:
STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static').replace('\\','/')
STATIC_URL = 'http://localhost/mysite/static/'
urls.py で:
(r'^static/(?P<path>.*)/$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),