Django y settings.py, por separado

written by uve 18 February 2010

Llevo ya un tiempo trabajando en algunos proyectos con Django y Bazaar. Últimamente ha tocado dar el salto a producción (este blog es fruto de ello) y me he encontrado con algunos problemas de despliegue. Entre ellos cuando el proyecto está ubicado en un directorio diferente al que contiene a settings.py

Como es lógico pensar, el fichero settings.py es distinto para desarrollo y para producción. Por tanto, decidí no incluirlo en el control de versiones. Y para evitar problemas con checkout puse el fichero settings.py en un directorio distinto.

De esta forma, supongamos la siguiente situación:

/home/user/menudoproblema.es/
/home/user/conf/settings.py 

 

¿Qué ocurre si queremos realizar un syncdb? La solución es también muy sencilla:

$ export DJANGO_SETTINGS_MODULE=settings
$ export PYTHONPATH=/home/user/conf/:PYTHONPATH
$ cd /home/user/menudoproblema.es/
$ python manage.py syncdb

 

Y con esto, todo solucionado :)

Tags

La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.