关于在Google App Engine上开发多租户Django项目的方法的建议

时间:2009-09-17 11:31:02

标签: django google-app-engine multi-tenant

我希望就在Google AppEngine上开发多租户Django项目的一些最佳方法提出一些建议。

要考虑的一些想法。

  • 我认为使用djnago.contrib.sites是必须的。

  • 我想使用现有的应用程序,例如django-profiles和django-registration,我知道他们的模型需要移植。

  • 可以将多个域指向GAE应用程序,并从请求标头中自动选择该站点吗?

  • 如果不是多个域名,有没有办法说请求www.example.com/tenantA/login和www.example.com/tenantB/login请求并将其推送到一个视图,但有知识Tennant没有更改所有视图,可能使用自定义管理器来隐藏视图的复杂性。

一般希望这将是您过去或计划采取的任何方法的讨论。

期待任何评论/答案。

此致

标记

2 个答案:

答案 0 :(得分:2)

我可以为你回答App Engine的问题,虽然我不知道Django的问题:

  1. 是的,任何人都可以使用Google Apps将域指向您的应用,使用“添加服务”选项,在提示时输入您的应用ID。然后,您可以检查“主机”标题以确定您要使用的网站。
  2. 您可以使用挂钩在主体和查询中自动插入主机来隐藏每个租户的信息:http://code.google.com/appengine/articles/hooks.html

答案 1 :(得分:1)

今天谷歌发布了SDK 1.3.6,其中包括解决方案中的多租户。

http://googleappengine.blogspot.com/2010/08/multi-tenancy-support-high-performance_17.html