EBAC Logotipo
Menú

10.3 Prepara tu proyecto Flask para producción

Deja tu proyecto listo para salir a producción. Aprenderás a crear y ajustar los archivos necesarios para que Render pueda ejecutarlo correctamente

1. Verifica que tu app funcione correctamente en local

Antes de pensar en producción, asegúrate de que tu app no tenga errores al ejecutarse en tu entorno local:


  1. ¿Se ejecuta sin fallos desde la terminal?
  2. ¿Carga correctamente en el navegador?
  3. ¿Tu archivo se llama correctamente app.py o el nombre esperado por tu servidor?
  4. ¿Todos los endpoints responden como deberían?


Desplegar no corrige errores locales: al contrario, puede hacerlos más difíciles de rastrear y corregir.

2. Crea el archivo requirements.txt con tus dependencias

Render necesita saber qué librerías debe instalar para ejecutar tu aplicación correctamente.


Genera el archivo con el siguiente comando:

pip freeze > requirements.txt


Asegúrate de que incluya, al menos:

  1. Flask – el framework base de tu app
  2. gunicorn – servidor recomendado para entornos de producción


Este archivo debe estar en la raíz del proyecto y mantenerse actualizado cada vez que agregues nuevas dependencias.

3. Agrega el archivo wsgi para iniciar tu app

El archivo WSGI es el puente entre el servidor en Render y tu aplicación.


Un contenido típico es: web: gunicorn app:app


Esto le dice al servidor que use gunicorn para ejecutar el objeto app que está definido en tu archivo app.wysgi.


El archivo debe cumplir con las siguientes reglas:

  1. Debe tener la extensión .wysgi
  2. Debe invocarse con el nombre de llamada de gunicorn, ejemplo app.wysgi
  3. Debe asignar una instancia de tu app a application.
from app import app
application = app

4. Organiza tu estructura de carpetas para producción

Tu proyecto debe seguir una estructura clara y coherente para facilitar el despliegue:

/app.py
/templates/
/models/
/requirements.txt
/database.py
/app.wysgi


Además, asegúrate de que tus rutas en Flask usen render_template correctamente y que tus vistas HTML estén bien enlazadas desde la carpeta /templates.


Una estructura limpia y rutas bien definidas evitan errores comunes al pasar tu app de local a producción.