virtualenv mas django servidos en apache

Después del rotundo éxito de cómo usar django con apache y mod_wsgi y demostradas las virtudes de utilizar virtualenv, veamos como usar todo esto junto.

Es muy similar al ejemplo anterior, solamente tenemos que agregar unas pocas líneas al archivo de configuración django.wsgi (si seguimos con el ejemplo pasado) en nuestro proyecto para que utilice python y django de nuestro entorno creado y no el python y django global.


import site
site.addsitedir('/home/patricio/dev/python/envs/entorno/lib/python2.7/site-packages')

Como un breve resumen:

Tenemos instalado nuestro entorno en:

/home/patricio/dev/python/envs/entorno

Tenemos nuestro proyecto django andando en:

/home/patricio/dev/python/sources/proyecto

En nuestro proyecto de trabajo creamos el archivo django.wsgi con el siguiente contenido:

import os
import sys
import site

site.addsitedir(’/home/patricio/dev/python/envs/dj-fbcb/lib/python2.7/site-packages’)
sys.path.append(’/home/patricio/dev/python/sources’)
sys.path.append(’/home/patricio/dev/python/sources/proyecto’)

os.environ['DJANGO_SETTINGS_MODULE'] = ‘proyecto.settings’

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

En nuestro virtualhost quedaría lo siguiente:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost

DocumentRoot /home/patricio/dev/python/sources/proyecto
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory /home/patricio/dev/python/sources/proyecto >
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

WSGIScriptAlias / /home/patricio/dev/python/sources/proyecto/django.wsgi

Esto sería todo, reiniciar apache y debería salir todo andando!

Buscar temas relacionados

Búsqueda personalizada

Leave a comment

Your comment