Многопользовательская SAAS в Django

Я разработал многозадачные приложения SAAS в PHP/Laravel, но недавно у меня возникла задача разработать его в Django/Python. Я все еще изучаю Django, хотя мне очень нравится Django rest framework (DRF). Но мне трудно понять выделенные области ниже. Если кто-то покажет какой-то свет, мне будет хорошо идти:

  • Как обрабатывать субдомены/домены и выбирать нужного арендатора db
  • Как управлять и динамически обрабатывать разные базы данных в django
  • Можно ли управлять сервером приложений с несколькими арендаторами из интерфейса администратора Django.
  • Я буду использовать очередности и другие приложения, которые помогут вам скрасить, нужны советы и трюки, если есть
  • Любой пример там
  • Любой вызов при разработке SAAS через Django

Ответы

Ответ 1

Ну...

  • django-subdomains
  • люди, которые задавали в SO вопросы о динамических базах данных в django (в том числе, гм.. меня). Я не совсем уверен, что понял, что вы подразумеваете под "динамически обрабатывать разные базы данных", поэтому я думаю, просто перейдите к ссылкам, которые я только что упомянул, и выберите лучший для вашего проекта. (также - возможно это более актуально?)
  • Отметьте django-multitenant-schemas и этот ответ тоже.
  • Было видео (ссылка rot) парней, стоящих за Disqus (одним из крупнейших приложений в мире django), объясняющим, как они масштабирование ручек. Здесь еще одна интересная статья по этому вопросу. Кроме того, легендарный вопрос SO имеет ли масштаб Django.
  • (и 6.) Отметьте этот ответ

Я надеюсь, что это достаточно подробно. Я знаю, что это может быть разочарование только ответами на ссылки, но это реальность. Django - это более новая структура, а веб-разработка с использованием python все еще менее распространена, чем php. Имея это в виду, понимайте, что для всей awesomness django (и это потрясающе), с более сложными потребностями, вам больше придется делать сами.

В этом случае вам нужно будет выяснить, как сделать каждую часть пути отдельно, а затем объединить все это. Например, вы можете легко найти способ создания приложения REST django, но тогда вам нужно будет выяснить, как его объединить с другим пакетом (например, вышеупомянутые субдомены).

Вы можете найти миллион примеров того, как люди делают причудливые вещи с джанго. Это действительно мощно (когда я узнал о динамических моделях я был взорван). Но чем сложнее ваше приложение, тем больше вам нужно делать сами.

Поднимите его, шаг за шагом, и вернитесь к SO с конкретными проблемами, которые у вас есть (или django users google group). Удачи!

Ответ 2

вы можете попробовать следующую ссылку, в которой реализовано несколько арендаторов, но не несколько dbs.

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