3

不久前我发现了 django,并编写了几个应用程序。然后我发现了 Google App Engine,我很高兴能够试一试,特别是因为它特别提到了 python 和 django。

我使用 GAE hello World 应用程序使用 python 2.7 确认了 GAE 安装。然后我在使用 django-nonrel 测试应用程序时遇到了麻烦。谷歌搜索各个错误随后结束,在 python 路径中添加了大约 7 个不同的东西,直到遇到我无法解决的错误。

从外观上看,我似乎在使用 Windows 时有些偏离常规,所以我在虚拟机上安装了一个新的 Ubuntu 副本并重新开始。验证 python 2.7,将 GAE 放在推荐的位置,克隆几个包并将它们符号链接到提供的测试应用程序文件夹中。当我 ./manage.py runserver 它再次踢出相同的错误消息,使我在 Windows 中停滞不前。

我对这个问题的系统层面的看法是 django-nonrel 由于其主要开发人员的辞职而失去了动力。GAE 并没有停滞不前,两者之间正在形成差距。这个观察正确吗?如果是,社区将走向何方?可以吗?(http://code.google.com/p/kay-framework/)

它是使用谷歌自己的最小 python 框架吗?它是Java而不是python吗?

我怀疑有成千上万的人在做 GAE 项目,但我觉得这条路并不好走。有很多人仍然对 django-nonrel 有信心吗?我意识到我可能会丢失一些非常简单的东西,比如路径变量或其他东西,但如果我应该学习其他东西,我不想继续寻找它。

4

1 回答 1

4

我正在积极地将 django-nonrel 用于我已经工作了几个月但尚未启动的项目。在过去的一周里,我收到了一位正在开发 django-nonrel 的开发人员的建议,以尝试运行 django 1.4 的最新分支。注意,django 1.4 不能从 GAE SDK 正式获得。不过,在这一点上,感觉就像 django-nonrel 正在向前冲,它的文档已经被抛在了一边。您可能需要一些开发技能才能使用最新最好的。

django-nonrel 可能已经失去了一些动力,但我不认为它已经死了。不过需要注意的一件事是,大多数活跃的开发人员都将它与 mongo-db 一起用作后端。现在这不是问题,尽管我担心 mongo-db 版本和 appengine 版本可能会出现碎片——希望这不会发生。

我在 SO 和邮件列表上关注 App Engine 线程后的看法是,大多数人都在使用 Java。python用户中,常用的平台是webapp2+app引擎原生模型+Jinja2或者类似的模板库。

根据我使用 django-nonrel 的经验:

优点:

  • 我想要的第 3 方 python 库可以工作,这为我节省了很多时间。例如,django-social-auth 给了我 facebook 和 twitter 登录,几乎没有任何工作。

  • 使您有可能将 AppEngine 关闭到另一个 python+mongo 平台。

缺点:

  • 旧版本不支持祖先查询,但现在在 1.4 分支上。

  • 你是你自己的支持者。还有其他一些非常有帮助的人,但我不得不跳入代码库来解决问题并添加功能。我已经这样做了几次(比如发布带有错误的 App Engine SDK 时),但这种情况很少见。

  • django 的加载时间比 webapp2 长一点,但如果你摆脱了 django.contrib 中你不使用的所有内容,这还不错。

  • 你没有得到 ndb 的好处。您错过了 ndb 实体缓存。但是我发现我更频繁地使用查询,这些查询不是 ndb 缓存的,所以这可能是也可能不是很大的损失。

于 2012-05-26T16:41:13.383 回答