Django y settings.py, por separado
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é.
