tenant multi example python django web-applications database-design saas

python - example - Multi-tenant SAAS en Django



django tenant example (2)

He desarrollado aplicaciones SAAS para múltiples inquilinos en PHP / Laravel, pero recientemente tuve el desafío de desarrollar una en Django / Python. Todavía estoy aprendiendo Django y realmente me gusta Django resto framework (DRF). Pero tengo dificultades para descubrir las áreas resaltadas a continuación, si alguien muestra algo de luz, estaré listo para ir:

  1. Cómo manejar subdominios / dominios y seleccionar la base de datos del arrendatario correcto
  2. Cómo gestionar y manejar dinámicamente diferentes bases de datos en django
  3. ¿Se puede administrar el backend de aplicaciones multiusuario desde la interfaz de administración de Django?
  4. Estaré usando colas y otras aplicaciones para aplicar técnicas de escalofrío, necesito consejos y trucos si los hubiera.
  5. Cualquier ejemplo por ahí
  6. Cualquier experiencia de desafío al desarrollar SAAS a través de Django.

Bien...

  1. django-subdomains
  2. Hay people que preguntaron en SO preguntas sobre bases de datos dinámicas en django (incluido, ejem ... me ). No estoy completamente seguro de haber entendido lo que quiere decir con "manejar dinámicamente una base de datos diferente", así que supongo que solo vaya a los enlaces que acabo de mencionar y seleccione la mejor para su proyecto. (también - quizás esto es más relevante ?)
  3. Echa un vistazo a django-multitenant-schemas y esta respuesta también .
  4. Hubo un video de los chicos detrás de Disqus (una de las aplicaciones de django más grandes del mundo) que explica cómo manejan el escalado. Aquí otro artículo interesante sobre el tema. Además, la legendaria pregunta de SO hace escala de Django .
  5. (y 6.) Echa un vistazo a esta respuesta

Espero que sea lo suficientemente detallado. Sé que esta podría ser una respuesta decepcionante de enlaces únicos, pero esta es la realidad de esto: Django es un marco más nuevo, y el desarrollo web con python es aún menos común que php. Con eso en mente, entienda que para toda la maravilla del django (y es increíble), con necesidades más complejas, tendrá que hacer usted mismo.

En este caso, tendrá que averiguar cómo hacer cada parte del camino por separado y luego combinarlo todo. Por ejemplo, puede encontrar fácilmente una manera de crear una aplicación REST django, pero luego deberá descubrir cómo combinarla con otro paquete (como los subdominios anteriores).

Puedes encontrar un millón de ejemplos de personas que hacen cosas extrañas con django. Es realmente poderoso (cuando aprendí sobre modelos dinámicos, me quedé asombrado). Pero cuanto más compleja sea tu aplicación, más tendrás que hacerlo tú mismo.

Recójalo, paso a paso, y regrese a SO con los problemas específicos que tenga (o el grupo de usuarios de django de Google ). ¡Buena suerte!