EBAC Logotipo
Menú

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.

1. Descubre qué es una ruta

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.

2. Conecta rutas con funciones usando decoradores

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.

3. Crea tu primera ruta paso a paso

Para iniciar una aplicación básica en Flask, solo necesitas definir una ruta principal.


Ejemplo

from flask import Flask

app = 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.

4. Asigna múltiples rutas a distintas funciones


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.

5. Devuelve distintos tipos de respuestas

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.

6. Maneja rutas dinámicas con parámetros

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!

7. Evita errores comunes al definir rutas

Al comenzar con Flask, es común cometer errores como:


  1. Omitir el / al inicio de la ruta ('ruta' en lugar de '/ruta')
  2. Repetir nombres de funciones en rutas distintas
  3. Olvidar retornar algo desde la función
  4. No ejecutar el servidor correctamente (flask run)


Mantén nombres claros, no dupliques rutas y prueba tus rutas una por una desde el navegador.