Git branches y settings.py apuntan a una database específica

Cuando cambio a una nueva twig, digamos "dev", tengo que cambiar / editar manualmente mi file django settings.py para usar una database 'dev' de desarrollo.

¿Hay una forma conveniente de automatizar esto? Es decir, cuando cambio a 'dev', la twig settings.py en 'dev' ya está usando los valores que apuntan a mi database 'dev'.

Aún mejor si puedo extender esta automation a cualquier nueva twig y las nuevas bases de datos correspondientes que creo para cada twig correspondiente.

Bueno, lo que hago es tener un file llamado settings_local.py en mi twig de desarrollo donde especifico mi database y otras configuraciones solo para dicha twig y luego al final de mi settings.py agrego

try: execfile(os.path.join(PROJECT_PATH, 'settings_local.py'), globals(), locals()) except IOError, err: pass 

entonces en mi entorno de producción no tengo un file settings_local.py, por lo que la configuration sigue siendo la misma, todo lo que tendrías que hacer es agregar el file settings_local.py (o lo que sea que lo llames a tu file .gitignore

Cuando creas una nueva twig, tienes que editar settings.py solo una vez

Eche un vistazo a las secuencias de commands borradas / limpias. Puedes renunciar a tener una twig de desarrollo. Puede ver la descripción en el capítulo "attributes de git".