2010-02-09 14 views
5

Ho un layout di amministrazione di TabularInline, tutto funziona correttamente eccetto che mi piacerebbe farlo mostrare qualcosa di diverso dal valore Obj.__unicode__ in alto a sinistra in ogni riga.Personalizzazione di Django admin TabularInline campo predefinito

My TabularInline è un modello ImageModel fotologista, quindi mi piacerebbe mostrarmi l'anteprima anziché il normale risultato __unicode__.

Ho provato a cambiare __unicode__ per emettere la miniatura, che funziona, tranne il codice HTML è sfuggito in modo da ottenere <img src="XXX"...... etc

C'è un modo semplice per marcare il mio metodo __unicode__ come una stringa sicura? O un modo per ignorare la proprietà che l'amministratore sceglie di visualizzare?

Ho provato questo:

__unicode__.is_safe = True 

Ma questo non funziona.

risposta

7

È possibile personalizzare il modello per TabularInline in modo che appaia come desiderato. Penso che sia un'idea migliore allora l'hacking __unicode__:

class PhotoInline(admin.TabularInline): 
    model = Photo 
    template = 'photologue/photoinline.html' 

Il modo più semplice per creare il tuo è quello di copiare e personalizzare il default django/contrib/admin/templates/admin/edit_inline/tabular.html modello.

+0

sì - è così che andrei - ho creato un nuovo widget per mostrare l'immagine (copiata da djangosnippets) –

Problemi correlati