He creado un proyecto de Django con 20 sitios (un dominio diferente por sitio) para 20 países diferentes. Los sitios comparten todo: código base, base de datos, URL, plantillas, etc.Múltiples sitios de Django con base de código compartido y DB
Lo único que no comparten son pequeñas personalizaciones (logotipo, color de fondo del tema CSS, código de idioma, etc.) que configuré en cada uno de los archivos de configuración del sitio (cada sitio tiene un archivo de configuración, y todos estos archivos importan un archivo de configuración global con las cosas comunes). En este momento, con el fin de ejecutar los sitios en el modo de desarrollo que voy a hacer:
django-admin.py runserver 8000 --settings=config.site_settings.site1
django-admin.py runserver 8001 --settings=config.site_settings.site2
...
django-admin.py runserver 8020 --settings=config.site_settings.site20
Tengo un par de preguntas:
- He leído que es posible crear un servidor virtual para cada sitio (dominio) y pasarle el archivo settings.py del sitio. Sin embargo, me temo que esto crearía una instancia de Django por sitio. ¿Estoy en lo cierto?
- ¿Hay una manera más eficiente de realizar la implementación? He leído sobre django-dynamicsites, pero no estoy seguro de si es la forma correcta de hacerlo.
- Si decido implementar usando Heroku, parece que Heroku solo espera un archivo de configuración por aplicación, así que necesitaría tener 20 aplicaciones. ¿Hay una solución para eso?
¡Gracias!
Estoy en el mismo problema buscando la mejor solución. Eche un vistazo a esto: http://www.huyng.com/posts/franchising-running-multiple-sites-from-one-django-codebase/ –
Gracias por su respuesta. Terminé usando https://github.com/wardi/django-dynamicsites-lite – Alex