Python Web框架困惑

10 投票
5 回答
2581 浏览
提问于 2025-04-11 09:24

有人能给我解释一下现在的Python网页框架是怎么搭配在一起的吗?

我听说过三个框架,分别是CherryPy、TurboGears和Pylons。不过我有点困惑,因为TurboGears好像把CherryPy当作“控制器”来用(但CherryPy不也是一个独立的框架吗?),而且TurboGears 2还要建立在Pylons之上(我以为Pylons也做同样的事情?)。

5 个回答

6

CherryPy 不是一个完整的网页开发框架(比如 Django),实际上它更像是一个 HTTP 框架。用 CherryPy 写网页应用就像用 Python 写普通的面向对象应用一样。

另外,CherryPy 自带一个可以直接用的 WSGI 网页服务器,这个服务器也可以用来运行其他框架写的应用,所以很多人会对 CherryPy 的框架性质感到困惑。

7

试试web2py吧。它是一个点点点就能用的工具(你甚至不需要安装Python,因为它自带了)。你可以通过网页界面来开发,而且几乎可以在任何地方部署,包括iPhone、Oracle和Google App Engine。在尝试web2py之前,先试试其他一些Python框架,你会更加喜欢它的。

15

当然,这里还有更多内容。

下面是一个详细的列表和说明!

Python的网络框架

以下是上面链接的摘录:

流行的全栈框架

一个网络应用可能会使用多种组件,比如基本的HTTP应用服务器、存储机制(比如数据库)、模板引擎、请求调度器、身份验证模块和AJAX工具包。这些可以是单独的部分,也可以在一个高级框架中一起提供。

以下是一些最受欢迎的高级框架。许多框架包含了在WebComponents页面上列出的组件。

Django(1.0版本发布于2008年9月3日)是一个高级的Python网络框架,鼓励快速开发和简洁、实用的设计。

Pylons(0.9.6.2版本发布于2008年5月28日)是一个轻量级的网络框架,强调灵活性和快速开发。它结合了Ruby、Python和Perl世界中的最佳理念,提供了一个结构化但极其灵活的Python网络框架。它也是最早利用新兴的WSGI标准的项目之一,这个标准允许广泛的重用和灵活性,但只有在需要时才会使用。Pylons的目标是让网络开发快速、灵活且简单。Pylons是基于Paste构建的(见下文)。

TurboGears(1.0.4.4版本发布于2008年3月7日)是你一直在寻找的快速网络开发超级框架。它结合了CherryPy、Kid、SQLObject和MochiKit。查看完网站后,可以看看:快速入门手册

web2py(当前版本1.43)是一个一体化的包,没有任何依赖。开发、部署、调试、测试、数据库管理和应用维护都可以通过提供的网页界面完成。web2py没有配置文件,不需要安装,可以从USB驱动器运行。web2py使用Python作为模型、视图和控制器,内置了一个错误管理的票务系统,一个国际化引擎,支持MySQL、PostgreSQL、SQLite、Oracle、MSSQL和Google App Engine,通过ORM抽象层进行操作。web2py包含处理HTML/XML、RSS、ATOM、CSV、RTF、JSON、AJAX、XMLRPC、WIKI标记的库。它已经准备好投入生产,能够上传/下载非常大的文件,并且始终向后兼容。

Grok(0.13版本发布于2008年6月23日)是基于现有的Zope 3库构建的,但旨在提供更容易的学习曲线和更灵活的开发体验。它通过强调约定优于配置和DRY(不要重复自己)来实现这一点。

Zope(2.10.4版本发布于2007年7月4日,3.3.1版本发布于2007年1月14日,Zope 3.4.0c1版本发布于2008年1月31日)是Python网络框架的“祖父”,多年来发展成了一个框架家族。Zope 1于1999年发布。Zope 2既是一个网络框架,也是一个通用的应用服务器,现在主要用于内容管理系统。Zope 3既是一个独立的框架,也是相关库的集合,这些库也包含在Zope 2的新版本中。所有Zope框架都包括ZODB,这是一个Python的对象数据库。

撰写回答