【问题标题】:Is porting a Django app to GAE still an option?将 Django 应用程序移植到 GAE 是否仍然是一种选择?
【发布时间】:2013-07-01 14:06:14
【问题描述】:

我一个月前开始使用 GAE,并通过 Flask 在 GAE 上成功部署了我们当前的启动。它工作得非常好。现在对 GAE 非常感兴趣,我正在考虑将我的几个旧 Django 应用程序也移植到 GAE 上。

令我惊讶的是,它的文档出人意料地不一致并且部分矛盾。

官方google page推荐使用django-nonrel,本身已经是disconstinued

在 GAE 上似乎还不支持 Django 1.5.1,我也不清楚如何在 GAE 上使用 Django 1.4.3。

我还发现了这个更新的solution,它使用 Django 和 Google Cloud(云上的 Mysql)而不是高复制数据存储。不确定这是否是一个好方法,因为它仍然是实验性的,并且将来会发生“重大变化”。 (与高复制数据存储不同,它似乎也不包括任何免费层)

我期待 Django——也许是最大的 python web 框架——有更好的文档或教程来介绍如何在 GAE 上部署它。所以我想知道在 GAE 上坚持使用 Django 是否值得。

如果我打算手动制作我自己的模型并通过使用ndb 在视图中调整我的查询,我也可以坚持使用flask+Jinja2,我为什么要使用Django,我什至不能使用它不再是ORM?还是我忽略了什么?

谢谢,

【问题讨论】:

    标签: django google-app-engine


    【解决方案1】:

    allbuttonspressed 博客的链接上没有任何内容表明该博客已停产。相反,该页面说,即使他们(作为原始维护者)退出了该项目,但它已被新的维护者接管。这就是开源项目中经常发生的事情。

    对于 Cloud SQL,App Engine 文档中有一个dedicated page,详细说明了如何启动和运行它。确实,Cloud SQL API 本身仍处于“实验”状态,但这正是 Google 所做的。 App Engine 本身是去年才“实验”出来的。

    至于为什么要坚持使用 Django,这当然取决于你,但上述两种解决方案都会为你提供 Django 表单、管理界面、模板和 URL 路由,以及部分或全部 ORM 语法。

    【讨论】:

      【解决方案2】:

      在维护 django-nonrel 方面正在进行一些工作,尽管 Allbuttonspressed 博客已经开始过时了。您可以在 Google 网上论坛的 django-nonrel 邮件列表中找到更多最新信息。

      我相信它至少已经更新到 Django 1.5,但我个人仍然在 1.4 上运行。文档非常缺乏。您必须从邮件列表中找出适当的分支来获得对最新 django 版本的支持。但是,它就在那里,而且它正在工作。

      Django + CloudSQL 可能是将您的应用移植到 GAE 的最少编码途径。

      Django-nonrel 可以利用 HRD,但是,许多预期 SQL 行为编写的应用程序需要大量重写以正确支持 HRD 行为。

      例如,我尝试在 django-nonrel 上运行 django-registration。乍一看,它似乎工作正常。但在更深入的检查中,存在诸如能够在 HRD 上向多个用户注册同一个电子邮件地址等问题。鉴于 HRD 不支持多对多关系以及稍微复杂的查询,您可能会在其他应用中发现类似的问题,或者根本无法运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-04
        • 1970-01-01
        • 2014-05-05
        • 1970-01-01
        • 2013-04-21
        • 2023-03-22
        • 2022-06-12
        相关资源
        最近更新 更多