适用于 Google App Engine 的 Python Web 框架

4 投票
7 回答
1339 浏览
提问于 2025-04-17 03:29

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


我想用一个现有的Python框架来开发一个在Google App Engine上的应用。

我希望这个框架能让开发过程快速简单,并且支持测试驱动开发,这样我可以更轻松地进行测试。

你能推荐一个技术栈吗?那Django怎么样?


补充信息:

有几个Django的移植版本,但Stack Overflow上的问题已经过时了。之前有几个Django和App Engine的解决方案,我不知道现在哪个是最流行的。(这个信息现在已经过时,请查看被接受的答案和其他答案)。

不过,其他框架也很有趣,不仅仅是Django。

还有一个听起来不错但不是必须的条件,就是希望这个框架和App Engine都能运行这个应用,之后可能还想在自己搭建的(无SQL)版本上运行这个框架(可能是Django,也可能是其他的东西)。

7 个回答

2

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

这个模板里的代码组织得很好,里面还包含了很多不错的开发功能,比如性能分析和应用统计。

2

(注意,这个回答比较旧,可能不再适用。)


在阅读了Tom Willis对这个问题的评论,以及这个SO问题的被接受的回答后,我发现webapp/webapp2看起来很有前景。

  • 谷歌对它有一定的支持。
  • 不需要为现有的SDK处理程序创建和维护自己的版本。
  • 有一些库是专门为App Engine设计的,基于webapp的,这些库需要移植或适配才能与其他框架一起使用。
  • 可以在App Engine之外使用
  • 单元测试的设置很简单,并且在这里有详细的文档
3

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

对我来说,我选择的是djangoappengine

它是一个专门为无关系数据库(比如Google App Engine和MongoDB)制作的django项目的分支。它的主要好处是,你可以享受到django项目中所有很酷的功能,同时又能在GAE的可扩展架构上运行。另一个好处是,使用djangoappengine的话,你可以比直接使用他们的API更容易地迁移出App Engine(虽然这可能说起来简单,做起来难)。

曾经有传言说Django会把这些改动合并到主Django项目中,但截至2014年5月,这还没有发生。

一些相关链接:

撰写回答