Implementación de aplicaciones Django en Heroku

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/