¡Bienvenido! 🚀 Desplegar una aplicación Django en Heroku puede parecer complejo, pero con esta guía paso a paso disfrutarás de una experiencia fluida, profesional y llena de curiosidad. 🌟
Introducción
Heroku es una plataforma como servicio (PaaS) que simplifica el despliegue de aplicaciones web. Con soporte para Python y Django, ofrece escalabilidad automática, configuración de bases de datos y manejo de registros integrado. ¡Empezamos! 🛠️
Prerrequisitos
Preparar la aplicación Django
1. Crear entorno virtual e instalar Django
python3 -m venv venv
source venv/bin/activate
pip install django gunicorn dj-database-url whitenoise
2. Configurar settings.py
2.1 SECRET_KEY y DEBUG
Extrae
2.2 Allowed Hosts
Agrega tu dominio de Heroku:
ALLOWED_HOSTS = [tudominio.herokuapp.com] 🔒
2.3 Base de datos con dj-database-url
Usa
import dj_database_url
DATABASES[default] = dj_database_url.config(conn_max_age=600, ssl_require=True)
2.4 Archivos estáticos con Whitenoise
Añade
STATIC_ROOT = os.path.join(BASE_DIR, staticfiles)
STATIC_URL = /static/
3. Crear archivos clave
| Archivo | Propósito |
|---|---|
| requirements.txt | Lista dependencias: django, gunicorn, dj-database-url, whitenoise |
| Procfile | Instrucción de inicio: |
pip freeze > requirements.txt
Crea Procfile sin extensión:
4. Inicializar Git
git init
git add .
git commit -m Preparación despliegue en Heroku
Desplegar en Heroku
1. Login y crear aplicación
heroku login 🚪
heroku create tu-app-nombre –region eu
2. Configurar variables de entorno
heroku config:set SECRET_KEY=tu_secret_key_secreta
heroku config:set DEBUG=False
3. Push de código y escalado
git push heroku main
heroku ps:scale web=1 🖥️
Migraciones y pruebas finales
heroku run python manage.py migrate 🌱
heroku run python manage.py collectstatic –noinput 📂
heroku open 🌐
Gestión de registros y troubleshooting
heroku logs –tail 🔍
Verifica errores de base de datos, middleware o configuración de rutas estáticas.
Conclusión
🎉 ¡Enhorabuena! Tu aplicación Django está en producción en Heroku. Gracias a la configuración de