Flask: El microframework web ligero para Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Flask? Guía completa del framework web Python

Introducción a Flask

Flask es un framework web minimalista en Python, diseñado para crear aplicaciones web y REST APIs. Ofrece una estructura simple y flexible que permite desarrollar tanto prototipos como aplicaciones web completas de forma rápida. Flask está basado en el conjunto de herramientas WSGI Werkzeug y utiliza el sistema de plantillas Jinja2.

Creado por Armin Ronacher en 2010, Flask ganó popularidad gracias a su filosofía "haz una cosa y hazla bien". A diferencia de frameworks más pesados, Flask proporciona solo lo mínimo necesario, permitiendo a los desarrolladores elegir libremente los componentes para sus proyectos.

Características principales de Flask

Enfoque minimalista y extensible

Flask sigue el principio de microframework, ofreciendo funcionalidades básicas y permitiendo expandirlas mediante plugins y extensiones.

Enrutamiento integrado y manejo de solicitudes

El framework proporciona un sistema de enrutamiento intuitivo con soporte para varios métodos HTTP y parámetros en la URL.

Soporte de plantillas Jinja2

La integración con el potente sistema de plantillas Jinja2 facilita el trabajo con plantillas HTML y contenido dinámico.

Capacidad para crear REST APIs

Flask es ideal para construir APIs RESTful gracias a su soporte para respuestas JSON y manejo flexible de métodos HTTP.

Soporte de extensiones

Un rico ecosistema de extensiones permite añadir funcionalidades para trabajar con bases de datos, autenticación, formularios y mucho más.

Compatibilidad con Python 3.7+

Flask es compatible con las versiones modernas de Python y sigue las mejores prácticas de desarrollo.

Instalación y configuración

Instalación mediante pip

pip install flask

Verificar la instalación

python -m flask --version

Crear el archivo app.py y ejecutar

export FLASK_APP=app.py
flask run

En Windows:

set FLASK_APP=app.py
flask run

Creación de la primera aplicación

Ejemplo simple de app.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def home():
    return "¡Bienvenido a Flask!"

if __name__ == '__main__':
    app.run(debug=True)

Ejecutar la aplicación

flask run

La aplicación estará disponible en http://localhost:5000/

Manejo de rutas y URLs

Enrutamiento básico

@app.route("/usuario/<nombre_usuario>")
def mostrar_perfil_usuario(nombre_usuario):
    return f"Perfil de usuario: {nombre_usuario}"

Rutas con tipado

@app.route("/post/<int:id_post>")
def mostrar_post(id_post):
    return f"Post Nº{id_post}"

@app.route("/ruta/<path:subruta>")
def mostrar_subruta(subruta):
    return f"Subruta: {subruta}"

Tipos de parámetros soportados

  • string - cadenas de texto (por defecto)
  • int - números enteros
  • float - números de punto flotante
  • path - cadenas con caracteres "/"
  • uuid - cadenas UUID

Trabajo con métodos HTTP

Manejo de diferentes métodos

@app.route("/datos", methods=["GET", "POST", "PUT", "DELETE"])
def manejar_datos():
    if request.method == "POST":
        return "Datos creados"
    elif request.method == "PUT":
        return "Datos actualizados"
    elif request.method == "DELETE":
        return "Datos eliminados"
    return "Obteniendo datos"

Trabajo con plantillas

Recommendations