2016-05-07 7 views
0

Wirklich dumme Sache, aber ich weiß nicht, wie ich es beheben kann.Django, mit oder ohne Schrägstrich, Bild zeigt nicht

In meinem url.py Ich habe

url(r'^triplists', TripList.as_view()), 

Allerdings, wenn ich auf dieser Seite zu bekommen bin versucht (http://127.0.0.1:8000/triplists) ich diesen fiesen Strich am Ende der Verbindung erhalten.

http://127.0.0.1:8000/triplists/ 

Und das ist meine Bilder zu brechen.

Wenn ich Strich am Ende der URL meines Link zu Bild in meiner Vorlage haben sieht aus wie http://127.0.0.1:8000/triplists/static/users/Monk/ncBBqkj4i.jpeg

und wenn ich nicht http://127.0.0.1:8000/static/users/Monk/ncBBqkj4i.jpeg

erste nicht funktioniert, zweite funktioniert.

Warum das passiert? Warum fügt Django Schrägstrich hinzu? Und warum ändert sich meine Image-Verknüpfung?

+0

Überprüfen Sie hier: https://docs.djangoproject.com/en/1.9/ref/settings/#append-slash Ich denke, Sie sollten Ihr URL-Muster auf "url (r '^ triplists/$', TripList. as_view()), ' – kaveh

Antwort

0

Sie können Image-Link Problem beheben, indem / Ihnen das Hinzufügen Bild src Attribut

<img src="/static/users/Monk/ncBBqkj4i.jpeg"> 

Wenn Sie die staticfiles App verwenden, die static Tag kümmern, dass:

<img src="{% static 'users/Monk/ncBBqkj4i.jpeg' %}"> 

die Das Ergebnis ist das gleiche wie oben, wenn Ihr STATIC_URL wie in meinem Settings.py eingestellt ist:

STATIC_URL = '/static/' 
+0

Hat Django wirklich keinen besseren Weg, um statische URLs auf eine Weise zu erhalten, die nicht brechen würde, wenn die Anwendung verfügbar wäre, z auf '/ foo' statt' /'? – ThiefMaster

+0

Ja, es hat einen besseren Weg als harte Codierung Links, ich habe meine Antwort aktualisiert – ahmed

Verwandte Themen