Tutorial Completo para Crear una Aplicación Web con Flask y Python desde Cero

Tutorial Completo para Crear una Aplicación Web con Flask y Python desde Cero

Tutorial paso a paso para crear una aplicación web básica con Flask y Python

Bienvenido a este tutorial Flask pensado para desarrolladores principiantes e intermedios que quieran iniciarse en el desarrollo web Python. Aquí aprenderás desde la instalación y configuración del entorno, hasta la creación de rutas, manejo de formularios, integración con una base de datos SQLite y, finalmente, el despliegue básico. Vamos a construir una aplicación web Flask sencilla, clara y funcional, aplicando buenas prácticas para que tu aprendizaje sea eficiente y disfrutable.


¿Qué es Flask y por qué usarlo?

Flask es un micro-framework para Python que facilita el desarrollo backend de manera rápida y flexible. Es perfecto para proyectos pequeños o medianos y para quienes comienzan en programación web, porque no impone demasiadas estructuras rígidas.

Ventajas de Flask:

  • Ligero y fácil de aprender
  • Gran documentación y comunidad
  • Flexibilidad para crecer con el proyecto

1. Instalación y configuración del entorno

Antes de comenzar, asegúrate de tener instalado Python (>=3.6). Puedes verificarlo con:

Si aún no tienes Python, descárgalo desde python.org.

Paso 1: Crear entorno virtual

Para mantener las dependencias organizadas, crea un entorno virtual:

Activa el entorno:

  • En Windows:

  • En MacOS/Linux:

Paso 2: Instalar Flask

Con el entorno activado, instala Flask:

Para verificar que Flask se instaló correctamente:


2. Creación de la estructura básica del proyecto

Organiza los archivos así:

  • app.py: archivo principal de la aplicación
  • templates/: carpeta para las vistas HTML
  • static/: carpeta para archivos estáticos (CSS, JS, imágenes)

3. Crear la aplicación Flask con rutas y vistas

Dentro de app.py, inicia con el código base:


4. Crear la vista HTML básica

Ahora crea el archivo templates/index.html con contenido simple:


5. Manejo de formularios en Flask

Queremos que el usuario pueda enviar datos. Para ello crearemos un formulario simple que capture un nombre y salude al usuario.

Paso 1: Modificar la ruta para GET y POST

Actualiza app.py:

Paso 2: Modificar el formulario HTML para POST

Actualiza templates/index.html:

Esta forma sencilla de interactuar con usuarios es una base esencial para la programación backend para principiantes.


6. Integración con base de datos SQLite

SQLite es una base de datos liviana que se integra muy bien con Flask para aplicaciones simples.

Paso 1: Instalar biblioteca para SQLite

Python ya trae en su biblioteca estándar el módulo sqlite3, así que no hace falta instalar nada extra.

Paso 2: Crear conexión y tabla

Vamos a almacenar los nombres ingresados.

Agrega en app.py la función para conectar y crear tabla:

Paso 3: Guardar datos del formulario en la base

Modifica la función index() para insertar:


7. Mostrar datos almacenados

Queremos una ruta para mostrar todos los nombres guardados.

Agrega ruta /usuarios

Crea la plantilla templates/usuarios.html:


8. Despliegue básico con Flask

Para entornos de producción, se aconseja usar un servidor WSGI como Gunicorn, pero para aprender, puedes desplegar localmente o en plataformas gratuitas como PythonAnywhere o Heroku.

Ejecución local

Solo ejecuta:

Visita http://127.0.0.1:5000/ en tu navegador.

Despliegue en Heroku (resumen rápido)

  1. Instala Heroku CLI y loguéate.
  2. Crea un archivo Procfile con:

  1. Crea requirements.txt:

  1. Inicializa git y sube el proyecto a Heroku:

Heroku instalará dependencias y levantará tu app automáticamente.

(Requiere que instales gunicorn en tu entorno: pip install gunicorn)


Buenas prácticas al desarrollar con Flask

  • Utiliza entornos virtuales para mantener dependencias controladas.
  • Nunca desactives debug en producción.
  • Valida y sanitiza entradas de usuario.
  • Usa plantillas separadas para mantener tu código limpio.
  • Documenta tu código con comentarios claros.
  • Usa blueprints para proyectos de mayor escala.

Conclusión

¡Felicidades! Has creado una aplicación web Flask básica que maneja rutas, formularios, almacenamiento en base de datos SQLite y te da la base para desplegar. Ahora puedes seguir ampliando tu conocimiento explorando:

  • Autenticación de usuarios
  • Mejorar la interfaz con CSS y JS
  • Validación avanzada con WTForms
  • Uso de ORM como SQLAlchemy

Te invitamos a que experimentes y construyas proyectos propios con Flask. Recuerda que la práctica constante es la clave para dominar la programación backend para principiantes.

¿Quieres seguir aprendiendo? Suscríbete a nuestro blog para más tutoriales y consejos prácticos de desarrollo web Python.


¡A programar y crear! 🚀