tutorial template superusuario password createsuperuser create crear django django-admin

django - template - Redirigir al administrador Guardar



django tutorial (4)

Para agregar a la respuesta de @ DanielRoseman, y NO QUIERES que el usuario sea redirigido cuando eligen Guardar y continuar y no el botón Guardar, entonces podrías usar esta solución.

def response_add(self, request, obj, post_url_continue="../%s/"): if ''_continue'' not in request.POST: return HttpResponseRedirect(get_other_app_url()) else: return super(MyModelAdmin, self).response_add(request, obj, post_url_continue) def response_change(self, request, obj): if ''_continue'' not in request.POST: return HttpResponseRedirect(get_other_app_url()) else: return super(MyAdmin, self).response_change(request, obj)

¿Cómo puedo redirigir a un usuario a una aplicación diferente en Guardar?

Tengo dos aplicaciones, digamos app1 y app2 . Si un usuario hace clic en Guardar en la app2 , debe redireccionarse a la app1 lugar de a la página predeterminada.

No quiero hacer una forma personalizada.


Para cambiar el destino de la redirección después de guardar en el administrador, debe sobrescribir response_add() (para agregar nuevas instancias) y response_change() (para cambiar las existentes) en la clase ModelAdmin .

Ver el código original en django.contrib.admin.options .

Y si desea que la gente lo siga ayudando en , debe aceptar las respuestas a sus preguntas.

Ejemplos rápidos para aclarar cómo hacerlo (se encontrarían dentro de una clase ModelAdmin):

from django.core.urlresolvers import reverse def response_add(self, request, obj, post_url_continue=None): """This makes the response after adding go to another apps changelist for some model""" return HttpResponseRedirect(reverse("admin:otherappname_modelname_changelist")) def response_change(self, request, obj, post_url_continue=None): """This makes the response go to the newly created model''s change page without using reverse""" return HttpResponseRedirect("../%s" % obj.id])


Tal vez eche un vistazo a los espacios de nombres de URL ... Probablemente podría usar HttpResponseRedirect + reverse para redirigir al usuario dentro de su método de salvar anulado. Tenga en cuenta que esta es una nueva característica en Django 1.1 y no es compatible con 1.0.x.

http://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces


def change_view (self, request, object_id, extra_context = None):

result = super(mymodeladmin, self).change_view(request, object_id, extra_context) result[''Location''] = "your location" return result