Flask para desarrollo web: guía completa con 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 y por qué elegirlo?

Flask es un microframework para desarrollo web en Python que ha ganado popularidad gracias a su simplicidad y flexibilidad. El desarrollo web con Python es cada vez más demandado, y Flask juega un papel clave como una herramienta ligera pero potente.

La principal ventaja de Flask radica en su minimalismo y capacidad de expansión. El framework no impone una arquitectura rígida y permite a los desarrolladores usar solo los componentes necesarios. Esto convierte a Flask en la opción ideal tanto para sitios pequeños como para aplicaciones web complejas.

Ventajas de Flask para desarrollo web

Flask ofrece a los desarrolladores múltiples beneficios:

  • Fácil de aprender y con una curva de entrada baja para principiantes
  • Flexibilidad para elegir soluciones arquitectónicas y componentes
  • Comunidad activa y un rico ecosistema de extensiones
  • Capacidad para crear desde prototipos hasta aplicaciones listas para producción
  • Control total sobre la estructura del proyecto

Las extensiones más populares de Flask incluyen Flask-WTF para trabajar con formularios, Flask-Login para autenticación, Flask-Migrate para migraciones de bases de datos y muchas más.

Instalación y primera aplicación con Flask

Instalación de Flask

Para empezar a trabajar con Flask, debes instalarlo a través de pip:

pip install Flask

Creación de una aplicación básica

Una aplicación Flask sencilla puede verse así:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "¡Hola, mundo!"

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

Este código crea un servidor web que responde a solicitudes GET en la ruta raíz. El parámetro debug=True activa el modo de depuración, que recarga automáticamente la aplicación cuando se modifica el código.

Estructura de un proyecto Flask

Organizar correctamente la estructura del proyecto es fundamental para el mantenimiento y la evolución de una aplicación web. Un proyecto bien estructurado facilita el trabajo en equipo, las pruebas y la escalabilidad.

Estructura de directorios recomendada

my_flask_app/
├── app/
│   ├── __init__.py
│   ├── routes.py
│   ├── models.py
│   ├── forms.py
│   └── templates/
│       └── index.html
│   └── static/
├── config.py
└── run.py

Función de cada archivo y carpeta

  • init.py — archivo de inicialización de la aplicación, contiene la creación de la instancia de Flask
  • routes.py — define las rutas y los controladores de solicitudes
  • models.py — contiene los modelos de datos para trabajar con la base de datos
  • forms.py — describe los formularios usando Flask-WTF
  • templates/ — almacena las plantillas HTML para mostrar las páginas
  • static/ — contiene archivos estáticos (CSS, JavaScript, imágenes)
  • config.py — archivo de configuración de la aplicación con ajustes
  • run.py — punto de entrada para ejecutar la aplicación

Inicialización de la aplicación

En el archivo app/__init__.py normalmente se crea y configura la aplicación Flask:

from flask import Flask
from config import Config

def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)
    
    from app.routes import bp
    app.register_blueprint(bp)
    
    return app

Trabajo con formularios en Flask

El manejo de la entrada del usuario a través de formularios es una de las tareas principales en el desarrollo web. Flask ofrece varias formas de trabajar con formularios, pero la más cómoda y segura es usar la extensión Flask-WTF.

Instalación de Flask-WTF


                    

Blogs

Book Recommendations