10

Webpy.org -谁使用 web.py?

“[web.py 启发了我们在 FriendFeed [和] App Engine 附带的 webapp 框架中使用的] web 框架......”
— Brett Taylor,FriendFeed 的联合创始人和 Google App Engine 的原始技术负责人

适用于 Python 的 Google App Engine 入门

嵌入在代码中的 HTML 混乱且难以维护。最好使用模板系统... ...为方便起见,webapp 模块包含 Django 的模板引擎

问题:
webapp和webpy有什么区别?
当 Appengine 已经提供 webapp 时,捆绑 webpy 是否值得?

我所知道的:
1. Web.py 有它自己的模板语言(它看起来比 Django 的更容易)
2. 目前,我考虑使用 web.py 的唯一原因是避免使用(和学习)Django在 appengine 上进行模板化。
3. 这个问题开头的引述
4. 我已经 通过 相关 问题和谷歌上的 webapp 文档
5. 我注意到stackprinter使用 web.py 并且托管在 appengine 上。

4

3 回答 3

19

web.py 体验:三年前,我决定学习一些Python web 框架
,开始使用web.py。 我喜欢 web.py 的第一件事就是它的简单性。我正在寻找一个基本的微框架,没有你可以在其他更大的项目(例如DjangoWeb2py )中找到的所有电池。

所以我开发了几个项目(使用fastcgi部署)并学习了所有 web.py库的功能,包括Templetor

然后我发现了 Google App Engine 并开始使用 Webapp;这是一个无聊的过程,因为它不是使用 python(如 Templetor 或 Mako),而是迫使你学习一种新的模板语法,默认情况下它是非常严格的。
在开发StackPrinter 时,我发现web.py 支持 Google App Engine,所以我删除了Sqlite,进行了一些小的调整并开始使用 GAE 数据存储。

Web.py 是我在 Python Web 框架方面的初恋,公平地说,我在谈论它时有点偏颇。
我在 GAE 上的宠物项目中坚持使用 web.py,因为我对它很流利,而且 Templetor速度很快
我喜欢我可以使用 Python 进行模板化以及将一些数据或函数全局共享到视图的简单方法,我还喜欢用于编码、降价等实用程序的丰富工具集。

Webapp vs web.py
我认为将它们进行比较是不公平的,因为 Webapp 是一个简单的框架,它只提供了最简单的入门工具;缺少许多功能,例如 I18n、验证、处理器,甚至是基本的 cookie 处理。
检查Webapp-improved以获得更好的东西。

我的建议
如果您的重点主要是为 Google App Engine 开发,我建议您使用一些专门为 GAE 制作的框架,例如Tipfy
如果你正在寻找一个 Python 的 web 框架来玩你的业余项目,web.py 是一个很好的学习遵循的项目。

于 2011-01-21T16:45:41.673 回答
4

webapp 和 web.py 的区别

主要区别(恕我直言)是:

  1. webapp框架是专门为 Google App Engine (GAE) 设计的。web.py框架不是专门为 GAE 设计的 。
  2. 它们使用不同的模板语言——web.py 使用它自己的,而 webapp 的模板语言是基于 Django 的。

GAE 的其他 Python 框架

其他用于 GAE 的 Python 框架(均不使用 Django 模板语言)包括:

  1. Flask —“基于 Werkzeug、Jinja 2 和良好意图的 Python 微框架。”
  2. tipfy — “一个小而强大的框架,专为 Google App Engine 设计。它很像 webapp,但提供了 webapp 所缺少的一系列特性和好东西:i18n、会话、自己的身份验证、flash 消息等等。模块化中的一切,轻量级的方式,针对 App Engine 进行了调整。”

当 Appengine 已经提供 webapp 时,捆绑 webpy 是否值得?

就个人而言,我认为使用webapp之外的东西是值得的。但是,我会倾向于Flasktipfy

Alex Martelli在他对 SO 问题Google App Engine - Secure Cookies的回答中赞同Tipfy。亚历克斯的回答对我来说主要的收获是tipfy是:

  1. 旨在与 GAE 配合使用
  2. 轻的
  3. 包含您经常需要的内置功能
于 2011-01-21T14:28:19.887 回答
3

它们非常相似,只是 webapp 比 web.py 更适合 GAE。webapp 非常小,并且绝对针对 App Engine 编写进行了优化,所以如果那是你的一杯茶,你应该使用它。你确实说过你不想使用 Django 的模板系统(我不知道为什么,这很简单),这是 webapp 默认自带的。模板系统可以更改,但我建议您尝试使用 Django 引擎。

也就是说,如果您不喜欢它,那么设置一个新框架并不难(基本上任何符合 WSGI 的框架都应该可以工作)。如果你想使用 web.py,无论如何,设置它,但你可能需要做一些关于如何设置和配置一切工作的搜索。

于 2011-01-21T14:27:30.287 回答