我即将开始一个django项目,我需要一个基础部署,最初只是为管理员说。以后的管理员可以添加我的主要公共站点的实例。
现在,一个实例显然会被动态子域分开。我需要从请求中捕获子域,并相应地进行计算。它有自己的基本模板,静态文件等(最简单的部分)。它将具有一组功能应用程序(所有实例都通用,但不是模型中的数据)。我正在考虑使用Django1.2的多数据库支持,并尝试每个实例获得一个数据库(*动态添加:(如果可行,它将包括动态数据库/模型创建*)。或者我可以去添加所有功能应用模型中的实例foreign_key,可以即时分离它们。
如果在部署之前我的实例是已知的,我会通过捕获子域并将我的ORM调用转移到相关数据库来轻松地使用多个数据库支持。但事实并非如此。这些必须是动态的(根据需要添加)。
在我尝试之前,为了获得解决方案/摆脱关于它的妄想,我希望SO的专家来思考它。我很感激建议,见解和当然的批评。
如果建议,我可以将其设为社区维基。谢谢你们。
答案 0 :(得分:1)
你不应该只在他们的Apache VirtuaHost中运行一个单独的Django实例吗?然后,您可以为每个实例设置一个Django设置文件,它们每个都可以指向正确的数据库。这也简化了代码,因为您不需要将子域名映射到视图中的数据库。作为一个真正的奖励,您的代码可以重复使用,因为它不依赖于您的复杂设置。
答案 1 :(得分:0)
通常,您可以使用sites framework来执行应用的实例。