首页技术文章正文

Python Web开发框架的十二大将

更新时间:2017-12-21 来源:黑马程序员 浏览量:

Python的一个重要应用领域就是Web开发,各方大牛为了让其开发更轻松简便,编写了众多Web框架,下面我们就来认识一下Python Web开发框架中的十二大将。

1. Django

Django是Python Web框架中应用最多的,其开放源代码。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don't Repeat Yourself)。

2. Flask

Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask使用BSD授权。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

3. Tornado

Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架以开源软件形式开放给大众。作为Web框架,是一个轻量级的Web框架,类似于另一个Python web 框架Web.py,其拥有异步非阻塞IO的处理方式。作为Web服务器,Tornado有较为出色的抗负载能力,官方用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,结果最大浏览量超过第二名近40%。

4. Webpy

web.py 是一个轻量级Python web框架,它简单而且功能强大。web.py是一个开源项目。该框架由美国作家、Reddit联合创始人、RSS规格合作创造者、著名计算机黑客Aaron Swartz开发。web.py目前已被很多家大型网站所使用。

5. Bottle

Bottle是一个Python Web框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。初学web开发可以拿来玩玩,其语法简单,部署也很方便。

6. Karrigell

简单的Web框架,自身包含了Web服务,py脚本引擎和纯python的数据库PyDBLite。

7. CherryPy

CherryPy是一个Pythonic的面向对象的web框架,其允许开发者以与构建其他面向对象的python程序一样的方式来构建web应用,以至可以用最少的时间开发出最精巧的源代码。CherryPy现今已超过10年,被证明是非常高效和稳定的。

8. Pylons

Pylons是一个开放源代码的Web应用框架,使用Python语言编写。它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中。Pylons是最新的Web应用框架中的典型,类似于Django和TurboGears。Pylons受Ruby on Rails影响很深:它的两个组件,Routes和WebHelpers是Rails特性的Python实现。

9. Zope

Zope是一个开源面向对象的web应用服务器,用Python写成。Zope代表着“Z对象发布环境(Z Object Publishing Environment)”,并且是第一个系统使用了新的通用对象发布方法的框架。Zope已经被认为是一个Python的杀手级应用,一个帮助Python走到聚光灯下的应用。Zope3已发布,这是一个全新设计的Web开发架构。采用组件和接口技术,实现Web应用的快速开发和布署。

10. TurboGears

TurboGears是一个提供网页前端到后端整合的网站框架,使用Python动态语言。Python语言上有无数网页开发模组可选择。要挑选合适的模组会花上开发者宝贵的时间精力,TurboGears就像是Python网页开发上的发布套件(Linux发行版),整合各种推荐的Python开放源代码模组,提供简单易用的界面与一致的系统体验。TurboGears使用MVC的方式组织网站,提供网页框架快速生成工具,开发中自动即时重载的网页服务器。

11. Twisted

Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted支持许多常见的传输及应用层协议,包括TCP、UDP、SSL/TLS、HTTP、IMAP、SSH、IRC以及FTP。就像Python一样,Twisted也具有“内置电池”(batteries-included)的特点。Twisted对于其支持的所有协议都带有客户端和服务器实现,同时附带有基于命令行的工具,使得配置和部署产品级的Twisted应用变得非常方便。

12. Quixote

Quixote是一个用Python编写基于Web的应用的框架。其目标是灵活而高效。两个主要版本v1和v2相似但是互不兼容,但都在维护,并被众多公共网站使用。


本文版权归黑马程序员人工智能+Python学院所有,欢迎转载,转载请注明作者出处。谢谢!


作者:黑马程序员人工智能+Python培训学院


首发:http://python.itheima.com/


分享到:
在线咨询 我要报名
和我们在线交谈!