Python开源Web框架

网上常见的开源python web框架很多,下面是我搜索的一些儿框架,仅供参考。

1bobo

 Bobo是一个轻量级的框架,用来创建WSGI web应用。它的目标是简单易用,容易记忆。

它强调两个方面的内容:

1)把URL映射到对象;

2)调用对象来生成HTTP响应。

Bobo 并不具备模板语言,数据库集成层或是其他一些WSGI中间件或特定应用程序库所提供的功能。Bobo建立在其他框架之上,尤其是WSGI和WebOb。

2Bottle

Bottle是一个快速、简单、轻量级的WSGI微型Python web框架。它仅包含单一文件模块,并且不依赖除了Python标准库以外的其他库。

它支持类似Google App Engine、Python Paste这样的应用,还包含了对一些模板的支持,比如Cheetah和Mako。

3CherryPy

 

   CherryPy 允许开发者以他们构建其他面向对象Python程序近乎同样的方式来开发web应用。这使得可以在更短的时间内开发出更精简的源代码。CherryPy允许你进行很多常规的Python编程,但是它并没有整合一个模板系统,你需要自己去找一个。(它支持大多数的模板)CherrPy 能够很好适应默认的Python功能和结构,它在使用更少的代码创建web应用.

官方网站:http://www.cherrypy.org/

 

4Cyclone

 

Cyclone 是一个Python的web服务框架,它基于Twisted protocol实现了Tornado API 。我将把对这个框架的介绍,交给7co.的Gleicon,请看他的文章

 

 

 

5Flask

 

Flask是一个基于Werkzeug 和 Jinja2的微型Python框架。它的目的是更快地上手,基于很多很好的想法开发出来的。你可以在 Wikipedia上了解更多内容。

 

6Itty-Bitty

 

itty.py是一个小实验,是受Sinatra的影响而尝试实现的一个微型框架,它刚好够用,没有额外的东西了。

当前支持:

  • 路由,内容类型,基本响应,HTTP状态码
  • URL参数,支持基本的GET/POST/PUT/DELETE
  • 用户可定义的错误处理器,重定向
  • 文件上传,报头,静态媒体储存

当心!如果你是要找一个久经考验的,企业级框架,你就来错地方了。但是它确实很有趣。

 

7Klein

 

Klein是一个使用Python来开发可用于生产环境web服务的微型框架。它基于使用非常广泛且经过良好测试的组件,比如Werkzeug和Twisted,以及近乎完全的测试覆盖率。你可以阅读这篇文章来查看介绍。(也许有点过时了)

 

8Morepath

 

Morepath是具有强大的能力的Python 微型web框架。Morepath是一个Python WSGI微型框架。他使用路由,但是是针对模型的路由。Morepath是一个模型驱动,灵活的框架,这使得它富有表达力。这里有篇文章,关于Morepath的一些细节和建议。

 

9ObjectWeb

 

ObjectWeb 是一个快速,极简的纯Python web框架,不依赖任何的第三方库。它围绕Python进行设计,因为起初想要把它当做面向对象的编程语言来使用。ObjectWeb支持CGI和WSGI标准,而且有一个内建的开发服务器。我觉得它是由这个家伙设计的

 

10Pecan

 

创造Pecan是为了填补Python web框架世界的一个空缺——一个提供object-dispatch方式路由的超轻量级的框架。Pecan的目标并不是要成为一个“全栈”框架,因此没有支持一些额外的功能,比如session或是数据库 。相反,Pecan专注于HTTP本身。

 

11Pyramid

 

Pyramid是一款非常通用的开源web框架。作为一个框架,它的首要任务是让开发者创建web应用变得简单。web应用的类型并不重要,可以是一个电子表单、一个企业内部网或者是一个社交平台。Pyramid非常通用,可以在各种各样的情况下使用它。

官方网站:http://www.pylonsproject.org/projects/pyramid/about

通过阅读/观看SixFeetUp上Caliy的这个教程.,你可以学到更多关于Pyramid的东西。

 

12Tornado

 

Tornado是一个Python web框架,而且是一个异步网络库,最初是为 FriendFeed开发的。通过使用非阻塞I/O,Tornado可以处理数以万计打开的链接,这使它成为长轮询、WebSocket和其他需要为用户提供长连接的应用的理想选择。

Thomas Allen写了一个简单的教程,关于Tornado是如何工作的以及如何创建一个简单的静态页面。

 

13web.py

 

web.py是一个Python 的web框架,既简单,有强大。web.py处于公有域内,你可以处于任何目的去使用它,没有限制。你可以看Lucas’s Kauffman博客上的指导文章以及关于它和Django的比较(好吧,我认为我们不能管这叫做比较)。

官方网站:http://webpy.org/

 

14Wheezy Web

 

一个轻量级、高性能、高并发的WSGI web框架,具备创建现代,高效网络应用的关键功能。这里有一篇来自Andriy Kornatskyy,关于Wheezy的介绍

 

15.CubicWeb

CubicWeb的最重要的功能是其代码的可重用性,由一个个代码单元组成。它灵活又强大,并且还有一些特别的功能,包括RQL查询语言和支持有效编码的语义视图功能。这是语义Web应用程序的最佳解决方案,并且提供理想的环境。

作为一个程序员,我们必须了解Python这门编程语言的灵活和强大。框架的选择取决于Web应用程序的使用目的和复杂程度。测量项目所需的负荷、可扩展性和效率是关键。

官方网站:http://www.cubicweb.org/

 

16.Zope2

Zope是不同Web框架集合在一起的完整家庭。与其他框架相比,zope2在当前的开发环境中对于内容管理系统是相当有限的。 Zope工具包是一个很好的库资源,允许使用重用代码和不同的库。

官方网站:https://pypi.python.org/pypi/Zope2

 

17.web2py

web2py最重要的因素是其外部零依赖,可以创建、复原、管理和修改在浏览器中的应用程序。对于一些简单的web开发任务,大部分都可以自动化快速开发。程序员甚至不需要再准备单一的开发、调试、测试、部署和数据库处理的封装包。内置的Web界面中这些都有,在使用之前也不需要进行安装。

官方网站:http://www.web2py.com/

 

18.TurboGears

TurboGears也称为是框架的终结者,因为它虽然有着其他Python框架都有的功能,却不像其他框架那样有局限性。它甚至能适用于简单的微架构项目。它给人的感觉就不像是工作在框架上,而像是在写新的功能。你可以在几分钟之内可以创建一个read-to-extend应用,并且我们可以在网上找到大量的教程。

官方网站:http://www.turbogears.org/

 

19 .Pylons

灵活性是pylons框架的主要特点之一。它可以将不同Python框架提供的某些最好功能,整合到同一个地方。Pyramid是pylons的第一批产品之一,它把重点放在了快速和灵活开发实践上。你可以挑选任何你认为可以提高Web开发效率的功能整合到一起。

官方网站:http://www.pylonsproject.org/

 

20.Grok

它由Zope工具包提供支持,并且一开始的时候是作为一个易扩展的Zope工具箱,为了方便那些菜鸟程序员的使用而开发 的。对于Web应用,Grok不但能提供多个构件,还有一个随时可以提供支持的很好社区。它提供了一种更为简单和灵活的学习Python的模式。它配备的可DRY方法使得它成为了一个很好的工具。

官方网站:http://grok.zope.org/

 

21.Django

   Django是一个开源的Web框架,并且采用MVC设计模式。它是使用非常广泛的Python Web框架,包含许多非常实用的库来加速Web开发。

下载地址:https://www.djangoproject.com/download/

 

posted @ 2017-03-07 16:22  潜龙9527  阅读(1659)  评论(0编辑  收藏  举报