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

在Google App Engine上开发多租户Django项目的方法建议,django,google-app-engine,multi-tenant,Django,Google App Engine,Multi Tenant,我希望得到一些关于在Google AppEngine上开发多租户Django项目的最佳方法的建议 有些思考要考虑。 我认为必须使用djnago.contrib.sites 我想使用现有的应用程序,如django配置文件和django注册,我知道他们的模型需要移植 是否可以将多个域指向GAE应用程序,并从请求头中自动选择站点 如果不是多个域,是否有一种方法可以说,接受一个请求,比如www.example.com/tenata/login和www.example.com/tenantB/login

我希望得到一些关于在Google AppEngine上开发多租户Django项目的最佳方法的建议

有些思考要考虑。

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

  • 我想使用现有的应用程序,如django配置文件和django注册,我知道他们的模型需要移植

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

  • 如果不是多个域,是否有一种方法可以说,接受一个请求,比如www.example.com/tenata/login和www.example.com/tenantB/login,并将它们推送到一个视图,但使用knowledge tennant,而不更改所有视图,或者使用自定义管理器来隐藏视图的复杂性

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

期待任何意见/答复

问候


Mark

我可以为您回答应用程序引擎问题,但我不知道Django的问题:

  • 是的,任何人都可以使用Google Apps将域指向您的应用程序,并使用“添加服务”选项,在提示时输入您的应用程序ID。然后,您可以检查“主机”标题以确定要使用的站点
  • 通过使用钩子在实体和查询中自动插入主机,可以隐藏每个租户的信息:

  • 今天,谷歌发布了SDK 1.3.6,其中包括多租户技术


    谢谢,我不知道挂钩的事。你知道hooks和django在一起工作时有什么需要考虑的吗?不应该有——hooks在SDK的最低级别上运行,所以只要django调用API,就会调用hooks。