Implementación de aplicaciones Django en Heroku
Heroku es una plataforma de alojamiento de aplicaciones web que permite a los desarrolladores implementar sus aplicaciones de forma rápida y sencilla. Heroku es compatible con una amplia gama de lenguajes y frameworks, incluyendo Python y Django.
Este tutorial te guiará a través del proceso de implementación de una aplicación Django en Heroku.
Prerequisitos
Para seguir este tutorial, necesitarás:
- Un proyecto Django existente.
- Una cuenta de Heroku.
- Una base de datos MySQL.
Paso 1: Instalar las herramientas necesarias
Para implementar una aplicación Django en Heroku, necesitarás instalar algunas herramientas adicionales.
En tu terminal, ejecuta los siguientes comandos para instalar las herramientas necesarias:
pip install heroku
pip install dj-database-url
pip install gunicorn
Paso 2: Crear un archivo Procfile
El archivo Procfile es un archivo que le dice a Heroku cómo ejecutar tu aplicación. Crea un archivo llamado Procfile en la raíz de tu proyecto Django y agrega la siguiente línea:
web: gunicorn myproject.wsgi --log-file=-
Este comando ejecutará tu aplicación Django usando el servidor web Gunicorn.
Paso 3: Crear un archivo runtime.txt
El archivo runtime.txt le dice a Heroku qué versión de Python usar para ejecutar tu aplicación. Crea un archivo llamado runtime.txt en la raíz de tu proyecto Django y agrega la siguiente línea:
python-3.9.10
Paso 4: Modificar tu archivo settings.py
Heroku almacena las credenciales de la base de datos en el entorno como variables de configuración. Para acceder a estas variables de configuración en tu aplicación Django, deberás modificar tu archivo settings.py.
Agrega las siguientes líneas a tu archivo settings.py:
import os
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.environ['DATABASE_URL'],
'USER': os.environ['DB_USERNAME'],
'PASSWORD': os.environ['DB_PASSWORD'],
'HOST': os.environ['DB_HOST'],
'PORT': os.environ['DB_PORT'],
}
}
Estas líneas configurarán tu aplicación Django para usar la base de datos MySQL que has creado.
Paso 5: Crear un archivo wsgi.py
El archivo wsgi.py es un archivo que le dice a Heroku cómo servir tu aplicación Django. Crea un archivo llamado wsgi.py en la raíz de tu proyecto Django y agrega el siguiente código:
import os
from django.core.wsgi import get_wsgi_application
from dj_static import Cling
application = Cling(get_wsgi_application())
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
application = get_wsgi_application()
Este código configurará Heroku para servir tu aplicación Django.
Paso 6: Crear un repositorio Git
Heroku utiliza Git para gestionar los cambios en tus aplicaciones. Si aún no tienes un repositorio Git para tu proyecto Django, crea uno ahora.
Paso 7: Subir tu aplicación a Heroku
Para subir tu aplicación a Heroku, ejecuta los siguientes comandos:
heroku login
heroku create
git push heroku master
Estos comandos crearán un nuevo proyecto en Heroku y subirán tu aplicación a la plataforma.
Paso 8: Comprobar que tu aplicación funciona
Para comprobar que tu aplicación funciona, abre un navegador y navega a la siguiente URL:
https://[nombre-de-tu-aplicación].herokuapp.com
Si todo ha ido bien, deberías ver la página de inicio de tu aplicación Django.
Conclusión
Este tutorial te ha mostrado cómo implementar una aplicación Django en Heroku. Ahora puedes usar Heroku para alojar y escalar tu aplicación Django.
Recursos adicionales
- Documentación de Heroku para Django: https://devcenter.heroku.com/articles/django
- Tutorial de Django en Heroku: https://realpython.com/migrating-your-django-project-to-heroku/