2009-06-05 13 views
7

Tengo un par de modelos. Tampoco tienen ninguna vista de lista aparte de sus entradas de administrador. Por esa razón, es un poco difícil calcular manualmente las URL para las instancias del modelo.Mostrar modelo URL en admin

Me gustaría mostrar un enlace en la lista y las vistas de administrador de detalles que me llevan directamente a la vista del público. Puedo hacer las tonterías que funcionan, crea la URL pero no sé cómo mostrarla en el administrador.

¿Alguna idea?

Respuesta

12

Si el modelo tiene un método get_absolute_url(), debería haber automáticamente un botón 'Ver en el sitio' en la parte superior derecha de la pantalla de detalles del administrador.

Para la vista de lista, puede agregar fácilmente un método para la lista de campos que se muestran:

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

No ¿Necesitará show_url.allow_tags = verdad? –

+0

Sí, lo acabo de recordar. –

Cuestiones relacionadas