【问题标题】:What are the limitations of using Django nonrel with Google App Engine?将 Django nonrel 与 Google App Engine 结合使用有哪些限制?
【发布时间】:2012-07-09 13:39:34
【问题描述】:

我了解完整的 django 可以开箱即用地与 CloudSQL 一起使用。但我对使用 HRD 很感兴趣。我想了解更多关于 django 可以与 nonrel 一起使用的百分比。中间件有用吗?框架的其他特性,如 i18n、forms 等。nonrel 也可以与 NDB 一起使用吗?

这里的背景是,我什至使用过 webapp2 和之前的 webapp,发现它们很棒,直到你的项目变得更大。所以对于这个项目,我有兴趣重新评估其他选项。

【问题讨论】:

    标签: django google-app-engine google-cloud-datastore python-2.7


    【解决方案1】:

    最大的限制是数据存储不做 JOIN,所以任何使用 JOIN 的东西,比如多对多关系都不起作用。

    任何使用多对多的包/中间件都不会工作,但其他的会。

    例如,sessions/auth 中间件将起作用。但是,如果您将权限与 auth 一起使用,则不会。如果您使用管理页面进行身份验证,它们会使用权限,因此您也会遇到一些麻烦。

    i8n 有效。

    表格工作。

    nonrel 不适用于 ndb。

    我不知道你所说的“直到你的项目变得更大”是什么意思。 django-nonrel 不会帮助您调整应用程序的大小。

    在我看来,使用 nonrel 有两个主要原因:

    1. 您对 App Engine 不置可否。 Nonrel 可能允许您迁移到 MongoDB 作为后端。

    2. 您想“免费”使用 django 包。例如,我为 REST API 使用了 sweetpie,使用 django-social-auth 轻松获得了 FB/Twitter 登录的 OAuth。 (另一方面,在 1.7.0 中,他们使用端点解决了 REST API)

    【讨论】:

    • 感谢您的回答,直到它变得更大,我的意思是当您想要开始添加社交登录、管理界面等功能时。如果您使用的是 webapp2,您必须自己做这些。 django-nonrel 的可靠性如何?我读到他们的主要贡献者已经继续前进,而 github 最近显示的活动很少。
    • 顺便说一下join,这和模型有关,不使用数据库的中间件应该没问题吧?
    • 它基本稳定。 django 1.3 分支对祖先查询没有很好的支持。它已添加到实验性 1.4 分支中,几周前我已升级到该分支,并且没有遇到任何无法解决的问题。
    • 熟悉 App Engine 的限制。我能想到的一个是有限的文件系统访问。因此,如果您的中间件/第三方应用程序尝试这样做,ti 将失败。我暂时想不出别的。 GAE 有自己的电子邮件 API,但 djangoappengine 修补了 django 电子邮件 API 以使用它,所以应该可以正常工作。
    猜你喜欢
    • 2012-06-01
    • 1970-01-01
    • 2011-04-22
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    相关资源
    最近更新 更多