6.4 Entendiendo rutas y funciones en Flask
Aprenderás a crear rutas (URLs) que ejecutan funciones en Python, y cómo responder desde el backend con contenido.
Aprenderás a crear rutas (URLs) que ejecutan funciones en Python, y cómo responder desde el backend con contenido.
Una ruta es una dirección (URL) que el servidor reconoce y a la que puede responder.
Cada vez que alguien visita una página de tu aplicación web, Flask busca si esa dirección está definida y qué debe hacer cuando se accede a ella.
Las rutas permiten que los usuarios interactúen con la aplicación: cada URL representa una acción o contenido diferente.
Las rutas son el punto de partida para construir la lógica de cualquier aplicación web.
Flask usa decoradores para enlazar rutas con funciones específicas. Cuando un usuario accede a una URL definida, Flask ejecuta automáticamente la función asociada.
La sintaxis básica es:
@app.route('/ruta')def nombre_funcion():return "Respuesta"
Este patrón le indica al servidor qué debe hacer cuando alguien visita esa dirección.
Cada función define la respuesta que se mostrará en el navegador: desde un texto simple hasta más adelante, una página web completa.
Para iniciar una aplicación básica en Flask, solo necesitas definir una ruta principal.
Ejemplo
from flask import Flaskapp = Flask(__name__)# Ruta principal de la aplicación@app.route('/')def inicio():return "¡Hola, Flask!"
Esta función se activa al visitar la raíz del sitio (/). Flask la ejecuta y envía el texto de respuesta.
Cada ruta puede mostrar una sección diferente del sitio, vinculando a una función distinta que devuelve su propio contenido.
@app.route('/inicio')def inicio():return "Página de inicio"@app.route('/acerca')def acerca():return "Acerca de esta app"@app.route('/contacto')def contacto():return "Contacto"
Esto arquitectura te ayuda a organizar la estructura de tu app desde el principio.
Igual puedes enviar contenido más enriquecido como texto con etiquetas HTML básicas:
@app.route('/bienvenida')def bienvenida():return "<h1>¡Bienvenido!</h1><p>Esta es tu primera app con Flask.</p>"
Esta respuesta incluye etiquetas HTML simples que el navegador interpreta visualmente.
Puedes capturar parámetros, que son partes variables de una URL usando rutas dinámicas:
@app.route('/usuario/<nombre>')def saludar_usuario(nombre):return f"Hola, {nombre}!"
Si alguien visita /usuario/Juan, la respuesta será “Hola, Juan!”
Esto permite personalizar la respuesta dependiendo del dato que reciba la ruta.
¡Solo necesitas indicar la variable entre < > y usarla como parámetro en la función!
Al comenzar con Flask, es común cometer errores como:
/ al inicio de la ruta ('ruta' en lugar de '/ruta')flask run)Mantén nombres claros, no dupliques rutas y prueba tus rutas una por una desde el navegador.