4

(请注意,这个问题和一些答案是旧的)


我想使用现有的 python 框架在 google appengine 上开发应用程序。

它应该以简单的方式快速轻松地启动和支持测试驱动的开发实践。

你能推荐一个堆栈吗?django 呢?


附加信息:

有几个 django 端口,但是 stackoverflow 问题已经很老了。django/appengine 解决方案有好几种,不知道目前哪个领先。(这现在已经过时了,请参阅接受的答案以及其他答案)。

但其他框架也很有趣,不仅仅是 django。

听起来也不错但不是条件的是,可以在框架和 appengine 上运行应用程序,然后可能在该框架的自托管(noSql-)版本上运行它(可能是 django,或者其他一些东西) )。

4

7 回答 7

3

更新:这个答案现在已经过时了。

对我来说,选择是djangoappengine

它是 django 项目的一个分支,专为 Google App Engine 和 MongoDB 等无 SQL 数据库而设计。它的主要好处是您可以搭载来自 django 项目的所有很酷的东西,同时还可以在 GAE 的可扩展架构上运行。另一个好处是,使用 djangoappengine,与直接使用他们的 API 相比,您可以更轻松地离开 App Engine(尽管说起来容易做起来难)。

有传言说 Django 会将这些更改合并到主线 Django 项目中,但还没有发生(截至 2014 年 5 月)。

一些相关链接:

于 2014-05-10T00:00:57.067 回答
2

(请注意,此答案已过时且不再有效。)


在阅读了 Tom Willis 对该问题的评论以及这个 SO question 的已接受答案后,我注意到webapp/webapp2看起来很有希望。

  • 谷歌有一定程度的承诺
  • 无需为现有 SDK 处理程序创建和维护自己的版本
  • 有些库是使用 App Engine 创建的,它们基于 webapp,需要端口或适配器才能与其他框架一起使用
  • 可以在appengine之外使用
  • 单元测试很容易设置和记录在这里
于 2011-10-02T17:40:48.887 回答
2

我个人很喜欢使用这个模板在 App Engine 上使用 Flask: https ://github.com/kamalgill/flask-appengine-template

该模板中的代码组织得非常好,它包括许多不错的开发功能,例如分析和应用程序统计信息。

于 2014-01-28T23:11:57.097 回答
2

如果你想构建大型应用程序并且需要更灵活的框架,那么你可以看看

金字塔 Python 框架

以前它被称为Pylons. 有很多优秀的公司使用这个框架。

您可以在他们的网站上找到将其部署到 appengine 的过程的说明:http: //docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/deployment/gae_buildout.html该过程使用构建,还包括本地测试环境.

于 2014-02-07T11:30:41.987 回答
2

我对这个样板非常满意:

https://github.com/coto/gae-boilerplate

看看它的功能和特点,很全!

于 2014-03-28T00:01:26.657 回答
1

我很享受

http://ferris-framework.appspot.com/

这是专门为 GAE 编写的。总的来说,我喜欢 Django,但不是为了 gae,我觉得使用 django-nonrel 仍然需要太多注意事项,这是不值得的。

于 2014-01-28T20:41:26.170 回答
1

我写了GAEStarterKit,旨在让你尽快上手。它与 GAE-Boilerplate 或 gae-init 等项目类似,但有一些关键区别:

  • 首先也是最明显的,我使用UIKit而不是 HTML5 Boilerplate。Boilerplate 是一个不错的选择,很明显,受欢迎是有好处的,但为了快速入门,我觉得 uikit 更“完整”。
  • 我做了很多工作来确保用户登录/注册系统尽可能经过深思熟虑。用户可以有多个电子邮件地址、多种身份验证方法,并与多个租户相关联(如果适用)。非 Google 用户的社交登录方面是通过Authomatic完成的,这是一个很棒的项目并且得到了很好的支持。
  • 虽然它的边缘有点粗糙,但我做了一些与 Django 的 GenericViews 非常相似的东西,但在 Flask 和 GAE 模型中。我为此使用了 WTForms 集成,所以它开箱即用,效果很好。它当然不是完美的,但它非常好。
  • 我真的很认真地考虑不重复自己的想法。例如在 gae-init 中,你会发现很多 CRUD 代码。对于管理方面,您可以在 GAEStarterKit 中将模型添加到您的管理 GUI,只需一个导入,一个功能即可。

可能值得考虑。

于 2016-04-20T20:41:51.950 回答