Saltar al contenido

django redirigir a otra vista con contexto

Esta es la respuesta más acertada que te podemos compartir, pero estúdiala pausadamente y analiza si es compatible a tu proyecto.

Solución:

Usaría variables de sesión para pasar algo de contexto a través de una redirección. Se trata de la única forma de hacerlo además de pasarlos como parte de la url y es la opción recomendada de django.

def foo(request):
    request.session['bar'] = 'FooBar'
    return redirect('app:view')

#jinja
 request.session.bar 

Se señaló un peligro potencial, ya que la variable de sesión se usa incorrectamente en una solicitud futura, ya que persiste durante toda la sesión. Si este es el caso, puede eludir este problema con bastante facilidad en una vista futura en la situación en la que podría usarse nuevamente agregando.

if 'bar' in request.session:
    del request.session['bar']

En Django no puedes pasar parámetros con redirección. Su única apuesta es pasarlos como parte de la URL.

def foo(request):

    context['bar'] = 'FooBar'

    redirect(reverse('app:view', kwargs= 'bar': FooBar ))

en su html puede obtenerlos de la URL.

Sección de Reseñas y Valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *