Saltar al contenido

¿Cómo manejar rutas y parámetros en Flask? Guía completa paso a paso

29/04/2025
¿Cómo manejar rutas y parámetros en Flask?
Compartir:
Índice de Contenido

Introducción a las rutas y parámetros en Flask

Flask es un microframework muy popular en Python para desarrollar aplicaciones web de manera sencilla y rápida. Uno de los aspectos fundamentales en el desarrollo web es la gestión de rutas y parámetros, ya que permite definir cómo los usuarios acceden a diferentes recursos y cómo se pasan datos entre el cliente y el servidor.

En esta guía completa paso a paso aprenderás cómo manejar rutas y parámetros en Flask, abarcando desde lo más básico hasta aspectos más avanzados, todo con ejemplos prácticos y explicaciones detalladas.

¿Qué son las rutas en Flask?

En Flask, una ruta es una URL específica que responde a una función del servidor llamada vista. Al acceder a una ruta determinada, Flask ejecuta la función asociada y retorna una respuesta al usuario.


from flask import Flask

app = Flask(__name__)

@app.route(/)
def inicio():
    return ¡Bienvenido a la página principal!
    

En el ejemplo anterior, la ruta / responde con un mensaje de bienvenida cuando se accede a la página principal.

Cómo crear rutas básicas en Flask

Para definir rutas en Flask, se utiliza el decorador @app.route() seguido de la función que responderá a dicha ruta. Es posible definir tantas rutas como necesite tu aplicación.


@app.route(/acerca)
def acerca():
    return Acerca de nosotros
    

Ahora, si visitas http://localhost:5000/acerca, verás el mensaje correspondiente.

Uso de métodos HTTP en rutas

Por defecto, las rutas en Flask solo aceptan el método GET. Si deseas que una ruta acepte otros métodos como POST, puedes especificarlo así:


@app.route(/contacto, methods=[GET, POST])
def contacto():
    if request.method == POST:
        return Formulario enviado
    return Formulario de contacto
    

¿Cómo manejar parámetros en las rutas de Flask?

Muchas veces es necesario pasar información dinámica a través de la URL. Flask permite capturar partes variables de la URL como parámetros.


@app.route(/usuario/<nombre>)
def mostrar_usuario(nombre):
    return fHola, {nombre}!
    

Si accedes a /usuario/Juan, la función recibirá Juan como argumento y responderá con el mensaje personalizado.

Tipos de parámetros en rutas

Flask permite especificar el tipo de parámetro que se espera en la ruta, como int, float o path.


@app.route(/post/<int:post_id>)
def mostrar_post(post_id):
    return fPost número: {post_id}
    

Aquí, post_id solo aceptará valores enteros. Si intentas acceder a /post/abc, Flask mostrará un error 404.

Parámetros opcionales y valores por defecto

Es posible definir parámetros opcionales en las rutas de Flask, asignando valores por defecto en la función de vista.


@app.route(/saludo/)
@app.route(/saludo/<nombre>)
def saludo(nombre=visitante):
    return f¡Hola, {nombre}!
    

Si accedes a /saludo/, se mostrará ¡Hola, visitante!. Si accedes a /saludo/Ana, verás ¡Hola, Ana!.

¿Cómo trabajar con parámetros de consulta (query string) en Flask?

Además de los parámetros en la ruta, puedes recibir parámetros de consulta (query parameters), que se envían después del signo de interrogación en la URL, por ejemplo: /buscar?palabra=flask.

Para acceder a ellos, utiliza request.args:


from flask import request

@app.route(/buscar)
def buscar():
    palabra = request.args.get(palabra, )
    return fBuscando: {palabra}
    

Si visitas /buscar?palabra=flask, la respuesta será Buscando: flask.

Parámetros múltiples en la query string

Puedes obtener varios parámetros de la consulta:


@app.route(/filtro)
def filtro():
    categoria = request.args.get(categoria, todas)
    orden = request.args.get(orden, asc)
    return fFiltrando por {categoria}, orden: {orden}
    

Así, /filtro?categoria=tecnologia&orden=desc retornará Filtrando por tecnologia, orden: desc.

Buenas prácticas al definir rutas y parámetros en Flask

  • Utiliza nombres descriptivos para las rutas y los parámetros.
  • Valida siempre los parámetros recibidos para evitar errores y vulnerabilidades.
  • Evita rutas ambiguas que puedan causar conflictos en la resolución de URLs.
  • Utiliza tipos de parámetros siempre que sea posible para mayor seguridad y claridad.

Resumen: ¿Cómo gestionar rutas y parámetros en Flask?

Como has visto, gestionar rutas y parámetros en Flask es un proceso sencillo pero fundamental para cualquier aplicación web. Puedes definir rutas estáticas y dinámicas, capturar parámetros de la URL y de la cadena de consulta, y controlar el flujo de tu aplicación de manera flexible.


Dominar el manejo de rutas y parámetros en Flask te permitirá crear aplicaciones más potentes y personalizadas, adaptadas a las necesidades de tus usuarios.

Ejemplo completo de aplicación Flask con rutas y parámetros


from flask import Flask, request

app = Flask(__name__)

@app.route(/)
def inicio():
    return Página principal

@app.route(/usuario/<nombre>)
def usuario(nombre):
    return fHola, {nombre}!

@app.route(/post/<int:post_id>)
def post(post_id):
    return fViendo el post número {post_id}

@app.route(/buscar)
def buscar():
    q = request.args.get(q, )
    return fResultados para: {q}

if __name__ == __main__:
    app.run(debug=True)
    
Quizás también te interese:  ¿Qué es un bucle while y cómo evitar que se vuelva infinito? Guía completa para principiantes

Con este ejemplo, ya puedes empezar a gestionar rutas y parámetros en Flask de manera eficiente.

Compartir: