Deploying django
Ya que hace poco que he deployeado (=publicado) un par de proyectos Django voy a explicar cómo hacerlo, entre ellos el blog experimental http://dug0.com/lachispaadecuada .
El deploy lo he hecho con Apache y mod_wsgi, recomiendo descargar el módulo y compilarlo, mejor que descargarlo de los repositorios, está más actualizado y a me dio problemas el de los repos.
Una vez instalado el módulo y activado, copiamos el proyecto a un directorio donde contendremos los proyectos Django, pueder ser /var/webapp o similares.
Hecho esto creamos en el directorio principal de nuestro proyecto el fichero django.wsgi que contendrá;
import os
import sys
from django.core.management import setup_environ
path = sys.path.append(os.path.abspath(os.path.dirname(__file__)))
if path not in sys.path:
sys.path.append(path)
import settings
setup_environ(settings)
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Que vale para cualquier proyecto Django. ¿No recuerda a http://dug0.com/django/script-python-con-entorno-de-django?
Hecho esto, añadimos a Apache;
WSGIScriptAlias / /var/webapp/MyDjangoProject/django.wsgi
Y ahora tenemos la parte dinámica, pero también queremos tener acceso a la estática, para lo que añadimos;
Alias /media /var/webapp/MyDjangoProject/media <Directory /var/webapp/MyDjangoProject/media> Order deny,allow Allow from all </Directory>
Y para tener acceso a los contenidos estáticos del área administrativa, que deberá estar situada en /media/admin. Creamos un enlace simbólico con el nombre admin en el directorio /var/webapp/MyDjangoProject/media al destino /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media. Que es la ruta donde están los contenidos estáticos, al menos Python 2.6+Django 1.2.3 en Ubuntu.
¡Reiniciamos Apache y a volar!

Aun no hay comentarios.