SAAS à plusieurs locataires à Django

j'ai développé des applications SaaS multi-locataires en PHP/Laravel, mais récemment j'ai eu un défi à en développer une en Django/Python. Je suis encore en train d'apprendre le Django et j'aime vraiment le Django rest framework (DRF). Mais j'ai des difficultés à comprendre les zones mises en évidence ci-dessous, si quelqu'un montre un peu de lumière, je serai bon à aller:

  1. Comment gérer les sous-domaines/domaines et en sélectionnant le locataire à droite db
  2. comment gérer et dynamiquement gérer une base de données différente à django
  3. les applications multi-locataires peuvent toujours être gérées à partir de L'interface D'administration de Django
  4. j'utiliserai des files d'attente et d'autres techniques de scalling apps, j'ai besoin de trucs et astuces s'il y en a
  5. un exemple
  6. Tout le défi de l'expérience lors de l'élaboration de SAAS par Django
21
demandé sur Cheruiyot Felix 2014-02-14 09:13:53

2 réponses

bien...

  1. django-sous-domaines
  2. Il y sont les gens qui ont demandé dans les questions sur les bases de données dynamiques dans django (y compris, ahem... moi ). Je ne suis pas entièrement sûr que j'ai compris ce que vous voulez dire par "gérer dynamiquement une base de données différente" donc je suppose que juste aller aux liens que je viens de mentionner et choisir le meilleur pour votre projet. (aussi - peut-être c'est plus pertinent ?)
  3. Check out django-multi-schémas et cette réponse trop .
  4. Il y avait une vidéo des gars derrière Disqus (l'un des plus grand django app dans le monde) expliquant la façon dont ils gèrent la mise à l'échelle. Ici un autre article intéressant sur le sujet. Aussi, la question légendaire de SO N'Django Échelle .
  5. (et 6.) Vérifier cette réponse

j'espère que c'est assez détaillé. Je sais que C'est peut-être une réponse décevante avec seulement des liens, mais c'est la réalité - Django est un nouveau framework, et le développement web avec python est encore moins courant que php. Avec cela à l'esprit, comprendre que pour toute la splendeur de django( et il est impressionnant), avec des besoins plus complexes il y a plus que tu devras faire toi-même.

dans ce cas, vous devrez trouver comment faire chaque partie de la manière séparément et puis combiner tout. Vous pouvez facilement trouver un moyen de créer une application REST django par exemple, mais alors vous aurez besoin de comprendre comment la combiner avec un autre paquet (comme les sous-domaines ci-dessus).

Vous pouvez trouver un million d'exemples de gens qui font des choses bizarres avec django. C'est vraiment puissant (quand j'ai appris environ modèles dynamiques j'ai été soufflé). Mais plus votre application est complexe, plus vous aurez besoin de le faire vous-même.

ramassez-le, une étape à la fois, et revenez avec les problèmes spécifiques que vous avez (ou le utilisateurs de django groupe google ). Bonne chance!

22
répondu yuvi 2018-06-22 17:22:46

vous pouvez essayer le lien ci-dessous, il a mis en œuvre plusieurs locataires, mais pas plusieurs SRD.

https://github.com/shestera/django-multisite

0
répondu Venkatesh Bachu 2014-02-20 14:26:04