3

我几乎完成了一个 Django 项目的开发(带有一些可插入的应用程序)。

我想以 SaaS 的形式提供这个项目(类似于 37signals.com)。

即:customer1.product1.com、customer2.product2.com 等

product1 可以是大本营 product2 可以是高层等等。

我想知道如何为这些产品构建项目。

是否应该有一个项目,所有产品都将成为一个应用程序。---- 或者 ---- 我应该为所有产品制作不同的项目吗?

同样就数据库而言..应该所有产品都查看一个数据库,还是我们应该为每个产品设置单独的数据库。

我正在寻找最有效和可扩展的方法来做到这一点。

谢谢

4

3 回答 3

4

如果您希望应用程序以任何方式进行交互(例如,共享用户帐户),它们需要位于同一个数据库中。在 Alex Gaynor在多数据库支持方面的出色工作被合并到主干之前,Django 不支持多数据库。

同样,您可能会对Django 的站点框架感兴趣。如果没有更多关于您的意图的信息,很难给出更好的建议。

于 2009-10-15T23:46:00.910 回答
1

如果你有几个大客户,给每个客户自己的数据库和 Django 实例可能是有意义的。特别是如果您需要为它们进行定制。

对于一个 SaaS 应用程序,其中可能有很多具有“创建自己的”设置和自助管理员的客户端,您可能需要一个数据库并在 Django 应用程序中添加子域支持。

这里有一些关于我们如何做到这一点的好技巧和代码:在 Django 中处理子域

于 2010-02-04T10:15:55.467 回答
0

有一个开源项目声称可以处理基本的 37Signals 类 Saas 站点的大量基础设施:http: //github.com/saas-kit/django-saas-kit

于 2010-06-19T10:14:16.693 回答