2009-06-05 9 views
7

Ho un paio di modelli. Nessuno dei due ha una vista elenco diversa dalle loro voci di amministratore. Per questo motivo, è un po 'complicato elaborare manualmente gli URL per le istanze del modello.URL del modello di visualizzazione nell'admin

Vorrei mostrare un collegamento sull'elenco e visualizzare le viste di amministrazione che mi portano direttamente alla visualizzazione pubblica. Posso fare le sciocchezze che funzionano crea l'URL ma non so come farlo visualizzare nell'amministratore.

Qualche idea?

risposta

12

Se il modello ha un metodo get_absolute_url(), dovrebbe essere automaticamente un pulsante "Visualizza sul sito" nella parte in alto a destra della schermata dei dettagli di amministrazione.

Per la visualizzazione elenco, è possibile aggiungere facilmente un metodo per l'elenco dei campi mostrato:

class MyAdmin(admin.ModelAdmin): 
    list_display=('name', 'anotherfield', 'show_url') 

    def show_url(self, instance): 
     return '<a href="%s">View on site</a>' % (instance.get_absolute_url()) 
    show_url.allow_tags = True 
+1

non avrete bisogno show_url.allow_tags = True? –

+0

Sì, l'ho appena ricordato. –

Problemi correlati