Ich habe ein Modell ( Entry
), das eine einfache Eigenschaft enthält:
Ich verwende dies, um den Namen einer bestimmten Image-Datei auf der Festplatte zu erstellen. Also ich weiß, dass es ein Bild bei /path/to/images/(model.image()).jpg
Ich kann die rohe Bildeigenschaft selbst im TabularInline-Layout auf einer Verwaltungsseite anzeigen, indem ich sie der readonly_fields-Sammlung hinzufüge. Aber wie würde ich eine Spalte mit benutzerdefiniertem HTML um die Modelleigenschaft herum erstellen?
z.B.
%Vor% Sie können eine Methode in Ihrer Unterklasse TabularInline
erstellen, die den gewünschten HTML-Code zurückgibt, und dann den Namen dieser Methode anstelle von image
in ImageInline
. fields
:
Laut aktuellem Django 1.2+ habe ich Fehler bekommen "Form hat kein Feld wie render_image". Lösung ist einfach setzen Sie die render_image-Funktion in model.Admin nicht in Ihrem Inline-Formular, zweite Sache ist Felder und readonly_fields Einstellungen in Ihrem Inline-Formular ... Also hier haben Sie, was ich am Ende bin:
%Vor%@lechup richtig, außer Sie brauchen:
%Vor%in Inline für spätere Versionen von django (+1.4)
definiertLechups Antwort funktioniert bei mir nicht, ich benutze Django 1.11.7. Ich habe diesen Weg gefunden, um zu arbeiten.
Sagen wir, ich habe 2 Tabellen: Kampagne und Artikel , eine Kampagne hat viele Artikel. Ich möchte die Artikel beim Durchsuchen einer bestimmten Kampagne anzeigen.
Table Article hat eine Spalte namens score , die ein Float ist. Ich möchte es bei der Anzeige in Django admin auf 2 Dezimalstellen runden.
Dieses Beispiel zeigt, wie Sie eine benutzerdefinierte Spalte für TabularInline in Django admin erstellen können.
%Vor%