0

我正在尝试决定如何实现这个架构。我有一个基本的 Django 包,我们称之为 BaseApp。我一直在开发这个作为分发工具供其他人使用。BaseApp 主要定义了一些视图行为和一些基本模型。开发人员可以安装 BaseApp,然后制作另一个应用程序,我们称之为 NeatThing,它只需要定义几个模型和模板,其余的由 BaseApp 完成,现在他们只需很少的努力就可以拥有一个迷你应用程序,做他们的整洁事物。重复 x 100,我们有 100 个不同的开发人员在做 100 个不同的 Neat Things。而且它们都在不同的环境中作为独立的服务器工作,等等。

现在我想提供 1 个版本的 BaseApp,1 个用户数据库,以及所有 100 个不同的 Neato-Whiz-Bang 应用程序,并在一个域上一起为它们提供服务,这样用户就都来到了同一个地方。

我该怎么做才能做到:

  1. 1 个 URL 指向 100 个不同的应用程序之一(以我配置的方式编程)
  2. 确保 100 个不同的应用程序相互隔离(根本不能相互交互)
  3. 授予每个应用程序(有限)对用户数据库的访问权限,以便用户可以与其应用程序中的模型相关联(我知道 Django 多数据库支持 - 但是如何在授予每个应用程序访问权限的同时保护一个用户数据库?)

我问这是一个高级实现方法的观点。即我从这里往哪个方向走?

4

1 回答 1

1

你所描述的听起来很像 postgresql 试图用schemas完成的。请参阅django-tenant-schemas以了解在 django 中此方法的出色实现。免责声明:我是该项目的贡献者。

于 2013-09-19T17:15:57.410 回答