5

我正在开始一个关于 App Engine 的新项目,Brandon 的建议让我思考。

Django 的许多功能在 Google App Engine 上不起作用:例如管理界面和建模框架。

考虑到 App Engine 已经内置了一个简单的框架(“ webapp ”),我可以从许多 Python 模板解决方案(包括 Django 的)中自由选择,而不会将自己束缚在一个相对较重的框架(但在这种情况下是绝育的)框架中什么是如果我不使用 Django,我最想念的主要功能是什么?

背景:我只有很少的 Django 经验,我正在考虑使用Mako模板(为了速度)。

4

4 回答 4

6

主要区别在于您已经知道它当然不支持 Admin 和 Django 的(优秀)ORM。不过,这并不奇怪,因为 Google 自己的 Datastore API 非常出色。而且您不必学习 GQL 即可使用它。

但是使用 Django 意味着您可以利用更多现有功能(Django 中间件等),并且如果您将来想离开 Google App Engine,需要重写的代码会更少。

Google 还发布了Google App Engine Helper for Django,它可以帮助您设置 GAE Django 应用程序。

所以,我宁愿去使用 Django 而不是纯 webapp 的 Google App Engine 应用程序。

根据要求编辑: 我提到的 Django 的现有功能可以用于许多有用的应用程序,并且主要是由庞大的 DJango 社区每天开发的中间件。

除了DJango 本身提供的有用的内置中间件之外,还有许多其他的也可以适应一些特定的用途。

仅举几例(这对我来说听起来很有趣):

  • Google Analytics DJango 中间件
  • YUI Loader 作为 Django 中间件
  • Django 域重定向中间件
  • ForceHTTPS Django 中间件等...

为了有效地使用它们,“Django 中的条件中间件执行”会很方便。

搜索更多,你会发现更多。

于 2009-02-08T20:33:01.397 回答
2

似乎管理界面正在获得app-engine-patch 1.0beta 的支持(链接到公告)。

对我来说,这可能Django 中最好的功能。(尽管我必须看看它在 App Engine 的无连接世界中是如何工作的。)

于 2009-02-10T16:21:14.507 回答
0

在撰写本文时,大部分 django 功能已在 Google Appengine Patch 项目的帮助下移植到 GAE。

主要还不是 Django 的模型支持,你必须使用 GAE db 模型。但它并没有那么痛。

只需获取Appengine-Patch并尝试一下。

于 2009-02-23T12:58:47.227 回答
-4

帮自己一个忙,不要碰应用引擎。

如果或者更确切地说,当谷歌更改规则时,您在设计应用程序上投入的时间和精力将会丢失。它(AppEngine)是适当的,如果你不喜欢它,你实际上已经失去了你的投资。你不能只拿你的应用程序并在其他地方运行它。谷歌不是一个慈善机构——他们会改变规则,因为他们可以把他们的担忧放在微不足道的你之上。这是最糟糕的锁定方式...

于 2009-02-13T10:56:44.850 回答