2008-10-27 7 views
6

Me gustaría utilizar las páginas de django contrib.admin para editar mis modelos, pero llamo a la página de cambio individual desde mi propia vista y luego regreso allí después de que el usuario haga clic en "guardar".¿Cómo puedo personalizar las páginas de cambio de administrador de django para volver a una URL específica en "guardar"

Lo ideal sería que esto debe suceder añadiendo el URL de retorno a la URL de la página de administración (como en" ...? _ Return_url =)

¿Alguna pista?

Respuesta

13

django.contrib.admin.options.ModelAdmin objetos tienen un método response_change la que se puede reemplazar en una subclase para determinar la respuesta que debe devolverse después de que un objeto se haya guardado correctamente, puede anular esto para devolver un HttpResponseRedirect apropiado para el objeto que se acaba de guardar.

+0

Esta es una excelente pista. También necesita una anulación de el método change_view y así Me costomized plantillas para obtener la URL de destino en la página de la vista de cambio. Es bueno que esto no requiera cambios dentro del código de administrador, solo sobrescribe en las clases y plantillas derivadas. – Ber

+0

¡Muchas gracias por esto, estaba realmente atorado hasta que leí tu respuesta! –

+0

Encontré esta publicación de blog me ayudó a entender la respuesta de insin: http://joshourisman.com/2008/10/27/modifying-django-admin-redirects-after-adding-changing-and-deleting/ – adonm

Cuestiones relacionadas