Referenzierung Bild in CSS mit relativen Pfad funktioniert nicht in Django

Bin ich mit Django 1.3 mit built-in static app.

Meine statische Ordner-Struktur ist wie folgt:

static/
    css/
       main.css
       img/
    js/

Also habe ich versucht, die Referenz-Bilder unter static/css/img/ Ordner von CSS wie dieses:

background:url('img/btn_white.gif') repeat-x;

Aber die Bilder, die don ' E zeigen. Wenn ich überprüfen Elemente in Chrom, ich fand das Bild Weg http://localhost/mysite/static/css/main.css/img/btn_white.gif/

Das ist sehr komisch, da diese relativen Pfad haben sollte verwiesen static/css/ Ordner statt main.css. Also habe ich versucht zu ändern, Weg zu sein url('../img/btn_white.gif'), und es funktioniert in Chrome und Firefox aber nicht im IE.

Ich bin ziemlich sicher, dass dieses problem bezieht sich auf Django, weil in meinem reinen HTML/CSS, ist dieser relative Pfad funktioniert Prima. Ich habe auch versucht, css in den media Ordner und das problem ist das gleiche.

Meine Einstellungen im Zusammenhang mit der statischen app:

in settings.py:

STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static').replace('\\','/')
STATIC_URL = 'http://localhost/mysite/static/'

in urls.py:

(r'^static/(?P<path>.*)/$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),

Verwandte Frage: Ist ein relativer Pfad in einer CSS-Datei relativ zur CSS-Datei?

  • Gehören die <link> tag sind Sie mit Ihrer Vorlage.
  • type="text/css" href="{{ STATIC_URL }}css/main.css" />
  • Hmm, ich habe gerade realisiert, dass Sie zeigen eine Struktur von static/css/img. Meinst du für img unter css Verzeichnis oder side-by-side? Wenn gewollt, könnten Sie versuchen, verschieben Sie eine Ebene, dann die url(../img/btn.gif) syntax wäre richtig.
  • Akzeptieren Sie meine Antwort?
  • wie sagte - wenn eine Antwort löst deine Frage, sollten Sie das Häkchen es.
  • sorry das wusste ich nicht. Bereits markiert es vor einigen Tagen.

InformationsquelleAutor Yifu | 2011-06-12
Schreibe einen Kommentar