Subir una aplicación realizada con django a heroku es rápido y sencillo. Aquí se tratarán los pasos a seguir para subir la aplicación a heroku.
-Lo primero es tener instalado la herramienta heroku:
-Se obtiene desde:
$ wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
-Lo siguiente es loguearse en la herramienta, para ello insertar el siguiente comando en la consola:
heroku login
-Introducimos las credenciales de nuestra cuenta y ya estarán listos para subir la aplicación django a heroku.
-Crean un directorio para el proyecto y entran en el:
mkdir hellodjango && cd hellodjango
-Inician o copian el proyecto:
django-admin.py startproject hellodjango
-Crean el archivo de texto Procfile dentro del proyecto creado e insertan la siguiente línea:
web: gunicorn hellodjango.wsgi
-Ahora indicar las dependencias, para ello tenemos dos métodos:
- $ pip freeze > requirements.txt
- o a mano, creando requirements.txt e introduciendo
Django==1.6
dj-database-url==0.2.2
dj-static==0.0.5
gunicorn==18.0
psycopg2==2.5.1
static==0.4
wsgiref==0.1.2
wsgiref==0.1.2
-Ahora hay que modificar un poco el settings.py para ello nos dirigimos a las lineas abajo indicada o la creamos si no existe alguna:
# importamos elmóduloo de bases de datos de heroku
import dj_database_url
DATABASES['default'] = dj_database_url.config()
# añadimos esta linea para poder acceder desde el modo seguro
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
# aceptamos las peticiones desde cualquier host
ALLOWED_HOSTS = ['*']
#configuramos el acceso de los archivos estáticos
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
-Ahora toca el wsgi.py, solo añadir las siguientes líneas:
from django.core.wsgi import get_wsgi_application
from dj_static import Cling
application = Cling(get_wsgi_application())
-Ahora hay que usar git, si no se tuviera instalado usar el comando :
sudo apt-get install git-core.
sudo apt-get install git-core.
-Estando dentro del directorio del proyecto iniciamos git:
git init
-Se añaden los archivos al git:
git add .
-Se confirman los archivos añadidos:
git commit -m “my django app”
-Una vez se tiene el git actualizado se sigue con heroku:
heroku create
git push heroku master
-Por último crear la base de datos:
heroku run python manage.py syncdb
Terminado, tecleando lo siguiente podréis acceder a vuestro sitio y la aplicación estará finalmente en producción.
heroku open