【问题标题】:Best Django features that do work on Google App Engine?在 Google App Engine 上运行的最佳 Django 功能?
【发布时间】:2010-10-06 06:58:33
【问题描述】:

我正在 App Engine 上启动一个新项目,Brandon's advice 让我思考。

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

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

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

【问题讨论】:

    标签: django google-app-engine frameworks


    【解决方案1】:

    主要区别在于您已经知道它当然不支持 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自己提供的有用的Built-in-Middlewares之外,还有很多其他的也可以满足一些特定的用途。

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

    并且有效地与他们一起玩"Conditional middleware execution in Django" 可以很方便。

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

    【讨论】:

    • “您可以利用更多现有功能(Django 中间件等)”您能详细说明一下吗?这些功能到底是什么?
    【解决方案2】:

    似乎the admin interface 正在获得app-engine-patch 1.0beta (link to announcement) 的支持。

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-20
          • 2013-12-20
          • 1970-01-01
          • 2010-11-03
          • 2012-03-21
          • 2013-03-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多