我几乎完成了Django项目的开发(带有一些可插拔的应用程序)。
我想提供这个项目作为一个SaaS (像37signals.com的东西)。
即: customer1.product1.com、customer2.product2.com等
product1可以是大本营,product2可以是高层,以此类推。
我想知道这个项目应该如何为这些产品构建。
应该有一个项目,在这个项目下,所有的产品都将是一个应用程序。-或者-我是否应该为所有产品制作不同的项目。
也是数据库的一部分..是否所有产品都应该查看单个数据库,或者我们应该为每个产品都有单独的数据库。
我正在寻找最有效和可伸缩的方式来实现这一点。
谢谢
发布于 2009-10-15 23:46:01
如果您希望应用程序以任何方式进行交互(例如,共享用户帐户),则它们需要位于同一数据库中。在Alex Gaynor的great work on multiple database support被合并到主干之前,Django不支持多个数据库。
同样,您可能会对Django's sites framework感兴趣。如果没有更多关于你意图的信息,就很难给出更好的建议。
发布于 2010-02-04 18:15:55
如果你有几个大客户,给每个客户提供他们自己的数据库和Django实例可能是有意义的。特别是当你需要为它们做定制的时候。
对于一个SaaS应用程序,其中可能有许多客户端具有“创建您自己的”设置和自助管理,您可能需要一个数据库,并在Django应用程序中添加子域支持。
这里有一些关于如何做到这一点的很好的技巧和代码:Handling Subdomains in Django。
发布于 2010-06-19 18:14:17
有一个开源项目声称可以为一个基本的37Signals-like Saas站点处理大量的基础设施:http://github.com/saas-kit/django-saas-kit
https://stackoverflow.com/questions/1575607
复制相似问题