2016-06-02 17 views
0

Kann jemand ein einfaches Arbeitsbeispiel geben, wie man in html-Dateibildern anzeigt, die durch ImageField in Django Admin hinzugefügt wurden? Es gibt viele Lösungen für bestimmte Probleme, aber ich konnte kein einfaches Tutorial finden, wie es richtig gemacht wird.Hinzufügen von Bild zu Django Admin ImageField und Anzeigen in html

+0

Ist '' in einer Vorlage nicht? Können Sie genauer beschreiben, was Sie erreichen möchten? – raphv

+0

Nein, es funktioniert nicht. Ich möchte nur die Bilddatei aus dem Django Admin hinzufügen und dann in der HTML-Datei anzeigen. Ich habe das 'upload_to'-Argument im admin angegeben, aber wenn ich {{image_field.url}} anrufe, erhalte ich ein Protokoll, dass dieses Bild nicht gefunden wurde. Ich frage mich, was und wo muss ich hinzufügen, um Django dieses Bild in HTML-Datei anzuzeigen. –

+0

Haben Sie beim Hochladen vom Administrator einen Fehler erhalten? Können Sie auf das Bild zugreifen, wenn Sie zum Admin zurückkehren? Können Sie auch direkt in der Datenbank nachsehen, was sich im Feld befindet? – raphv

Antwort

1

Wie wäre es mit einem zusätzlichen Feld in der Admin-Klasse?

In admins.py:

from myapp.models import MyModel 
from django.contrib.admin import register, ModelAdmin 

@register MyModel 
class MyAdmin(ModelAdmin): 

    readonly_fields = ('image_preview',) 

    def image_preview(self, obj): 
     image_field = getattr(obj, 'image', '') 
     return format_html(u'<img src="{}" />', image_field.url) 
+0

Danke für die Antwort, vielleicht war ich nicht spezifisch genug, ich meinte in HTML-Datei, nicht in der Django-Admin. –

+0

Wie geht es '' in einer Vorlage, funktioniert es nicht? – raphv

+0

Genau das habe ich gemacht, aber das Bild bleibt leer, als ob die Quelle nicht gefunden würde. –