17.7. Vistas en Django: redirección de URL

Página 98

En Django, las vistas son una parte crucial del sistema, ya que son responsables de procesar las solicitudes HTTP y devolver una respuesta HTTP. Una de las características importantes de las vistas es la capacidad de redirigir URL, lo cual es esencial para una navegación efectiva en un sitio web. En este capítulo de nuestro curso sobre construcción de sistemas con Python y Django, exploraremos en profundidad el concepto de redireccionamiento de URL.

En términos simples, la redirección de URL es un proceso que envía a un usuario de una URL a otra. Esto puede resultar útil en muchas situaciones. Por ejemplo, es posible que desee redirigir a los usuarios a una página de inicio de sesión si intentan acceder a una página que requiere autenticación. Alternativamente, es posible que desees redirigir a los usuarios a una página diferente si la página a la que intentan acceder no existe.

Para comenzar a redireccionar URL en Django, necesitarás importar la función de redireccionamiento desde el módulo django.shortcuts. Esta función toma un argumento que es la URL a la que desea redirigir al usuario.

Aquí tienes un ejemplo sencillo de cómo puedes utilizar la función de redireccionamiento:

desde django.shortcuts importar redireccionamiento

def mi_vista(solicitud):
    ...
    devolver redirección('/otra-url/')

En este ejemplo, la función my_view redirige al usuario a '/otra-url/'. Tenga en cuenta que la URL que pase a la función de redireccionamiento debe ser una cadena.

Una cosa importante a tener en cuenta es que la función de redirección no finaliza la ejecución de la vista. Esto significa que cualquier código que siga a la llamada a redirigir se ejecutará, incluso si el usuario es redirigido a otra página. Por lo tanto, es una buena práctica colocar la llamada para redirigir al final de la vista.

Además de aceptar una cadena que representa una URL, la función de redireccionamiento también puede aceptar un objeto de plantilla. En este caso, Django llamará al método get_absolute_url del objeto modelo para obtener la URL a la que redirigir al usuario. Esto puede resultar útil si la URL a la que desea redirigir al usuario depende de algunos datos del objeto modelo.

desde django.shortcuts importar redireccionamiento

def mi_vista(solicitud):
    ...
    mi_objeto = MiModelo.objetos.get(pk=1)
    devolver redirección (mi_objeto)

Aquí, la función my_view redirige al usuario a la URL devuelta por el método get_absolute_url del objeto my_object.

Otra forma de utilizar la función de redirección es pasar el nombre de una vista como argumento. En este caso, Django utilizará la función inversa para determinar la URL de la vista y redirigir al usuario a esa URL.

desde django.shortcuts importar redireccionamiento

def mi_vista(solicitud):
    ...
    return redirigir('nombre-de-vista')

En este ejemplo, la función my_view redirige al usuario a la URL de la vista cuyo nombre es 'nombre-de-vista'. Tenga en cuenta que el nombre de la vista que pase a la función de redireccionamiento debe ser una cadena.

En resumen, la redirección de URL es una técnica poderosa que le permite controlar el flujo de navegación en su sitio web. Django proporciona una función de redireccionamiento para facilitar la redirección de URL, y esta función puede aceptar una cadena que represente una URL, un objeto modelo o el nombre de una vista como argumento.

Esperamos que este capítulo le haya brindado una comprensión clara de cómo funciona la redirección de URL en Django. En el próximo capítulo, exploraremos otro concepto importante en Django: los modelos.

Ahora responde el ejercicio sobre el contenido:

¿Qué acepta la función de redireccionamiento en Django como argumento para redireccionar URL?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

9917.8. Vistas en Django: trabajar con autenticación

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.