Café y Código

2. Rutas y Parámetros en Flask

El decorador @app.route

En Flask, las rutas asocian una URL del navegador con una función de Python (llamada función de vista o view function).

rutas_basicas.py
PYTHON
1@app.route('/acerca')
2def acerca():
3 return 'Página de información acerca de nosotros'

Rutas dinámicas y convertidores

Puedes pasar parámetros directamente en la URL utilizando la sintaxis <tipo:nombre_variable>. Flask convertirá automáticamente el valor al tipo especificado.

  • string: acepta texto sin barras (por defecto).
  • int: acepta enteros positivos.
  • float: acepta números con decimales.
  • path: acepta texto incluyendo barras diagonales /.
rutas_dinamicas.py
PYTHON
1@app.route('/usuario/<string:nombre>')
2def perfil_usuario(nombre):
3 return f'Perfil del usuario: {nombre}'
4
5
6@app.route('/producto/<int:id>')
7def detalle_producto(id):
8 return f'Viendo el producto con ID #{id}'

Métodos HTTP (GET, POST, PUT, DELETE)

Por defecto, las rutas en Flask solo aceptan peticiones GET. Para procesar formularios o peticiones POST, se especifica el argumento methods.

metodos_http.py
PYTHON
1from flask import request
2
3
4@app.route('/login', methods=['GET', 'POST'])
5def login():
6 if request.method == 'POST':
7 return 'Procesando inicio de sesión...'
8 return 'Mostrando formulario de login'

Generación de URLs con url_for

La función url_for() genera dinámicamente la URL para una función de vista dada, evitando escribir URLs fijas en el código.

url_for_ejemplo.py
PYTHON
1from flask import url_for
2
3# Genera: /producto/42
4url_producto = url_for('detalle_producto', id=42)

Ponte a prueba

Verifica lo aprendido sobre rutas y parámetros en Flask.

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.