Django: MEDIA_URL nicht in der Vorlage festgelegt

7

Ich habe viele Fragen und Artikel gelesen, kann aber nicht finden, was mir fehlt.

Hier ist mein conf:

settings.py

%Vor%

urls.py

%Vor%

Wie auch immer, meine Medien werden bedient, denn wenn ich nach Ссылка gehe, habe ich mein Bild.

Aber wenn ich in der Vorlage gehe, gehe ich so vor:

%Vor%

Ich habe nur den Bildpfad. Wenn ich in html {{MEDIA_URL}} durch '/ media /' ändere, funktioniert es.

So scheint es, dass mein MEDIA_URL nicht in der Vorlage eingestellt ist und soweit ich gesucht habe, kann ich nicht sehen, was ich vermisst habe.

Ich bin auf Django 1.8.2. Wenn Sie irgendwelche Informationen brauchen, fragen Sie mich einfach.

    
Bestasttung 10.08.2015, 16:48
quelle

2 Antworten

11

models.ImageField hat eine Eigenschaft namens url , die Ihnen den durchsuchbaren Pfad Ihres Bildes gibt.

Sie sollten artist.artist_image.url anstelle von MEDIA_URL manuell für Ihren Bildnamen verwenden:

%Vor%

-

Stellen Sie sicher, dass artist_image nicht None ist, andernfalls ruft .url eine Ausnahme auf.

    
ozgur 10.08.2015, 17:03
quelle
12

Sie müssen das % co_de definieren % Vorlagenkontextprozessor in Ihren Einstellungen für die django.template.context_processors.media -Variable, damit sie im Vorlagenkontext vorhanden ist.

  

Wenn dieser Prozessor aktiviert ist, enthält jedes MEDIA_URL ein   Variable RequestContext , die den Wert der Einstellung MEDIA_URL angibt.

Wenn Sie dies in Ihre MEDIA_URL einfügen, wird settings in den Vorlagenkontext eingeschlossen. In den Django 1.8-Einstellungen ist standardmäßig nicht enthalten . Wir müssen explizit festlegen.

%Vor%     
Rahul Gupta 10.08.2015 16:52
quelle

Tags und Links