Ich habe seit einigen Tagen mit diesem Problem zu kämpfen und kann es nicht alleine lösen. Ich arbeite an einer Blogseite. Der Post-View bei einer URL wie dies gemacht:Bildpfade in der Django-Ansicht beziehen sich auf das Verzeichnis anstelle von MEDIA_URL
domain.com/blog/specificpost/
Ich habe eine Imagefield in meinem Modell. Die Bilder werden korrekt hochgeladen und ich kann die Bilder an die richtigen URLs adressieren.
domain.com/media/asset.jpg
In meinem settings.py Ich habe die Pfade Medien definiert. Wenn ich vom Admin aus auf die Bilddateien zugreife, funktionieren sie einwandfrei.
Beim Rendern der Ansicht des Posts wird der Bildpfad im DOM falsch wiedergegeben. Es ist:
domain.com/blog/media/asset.jpg
es sein sollte:
domain.com/media/asset.jpg
In meinem URLPATTERN Ich habe angefügt:
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
und fügte hinzu, die entsprechenden Importe urls.py. Ich glaube, dass dieser Code die Dateien bei der Domain-Root während development dienen soll.
Ich habe alle Lösungen here versucht, aber die Bild-URLs relativ zum Verzeichnis immer noch rendern. Jede Hilfe, um mich auf den richtigen Weg zu setzen, wäre nützlich, vielen Dank.
Post-Vorlage:
{% extends "base.html" %}
{% block journal_entry %}
<main class="content">
<section class="photo">
<img src="{{ object.image }}">
</section>
<section class="entry">
<section class="entry-content">
{{ object.body|linebreaks }}
</section>
<section class="entry-meta">
{{ object.created }}<span class="user-options"> • <a href="#">Delete</a></span>
</section>
</section>
</main>
{% endblock %}
Können Sie die Vorlage Ihrer Ansicht hinzufügen? – MrName
@MrName Hinzugefügt, danke. –