Web 开发是Python 应用中重要的一部分,下面总结了38个基于Python的Web 开发框架!其中有的历史悠久,有的发展迅速,还有的已经停止维护,大家可以根据情况参考学习。
1Django框架
官网:
https://github.com/django/django.git
Django是一个开放源代码的Web 应用框架,由纯Python写成,是目前 Python 语言中主流 de 三大Web框架之一(flask、django、tornado),是最容易上手的框架。
2 Flask框架
官网:
https://flask.palletsprojects.com/en/2.0.x/
flask框架是python中的一个轻量级的前后端开发框架,不同于Django,flask只提供基础的功能,其他的功能需要安装各种插件。因为轻量,所以可以用来做一些小工程和低流量的开发;大型工程也可以使用flask框架,但是就需要安装很多插件。
3 Pyramind框架
官网:https://trypyramid.com/
Pyramind是一个扩展性很强且灵活的 Python Web 开发框架。上手十分容易,比较适合中等规模且边开发边设计的场景。Pyramid 不提供绝对严格的框架定义,根据需求可以扩展开发,对高阶程序员十分友好。
4 web.py框架
官网:https://webpy.org/
web.py 是一个Python 的web框架,它简单而且功能强大。web.py 是公开的,无论用于什么用途都是没有限制的。而且相当的小巧,应当归属于轻量级的web 框架。但这并不影响web.py 的强大,而且使用起来很简单、很直接。
5 Tornado框架
官网:
https://www.tornadoweb.org/en/stable/
Tornado是一个Python web框架和异步网络库,最初是在FriendFeed开发的。通过使用非阻塞网络I/O, Tornado可以扩展到数以万计的开放连接,非常适合长轮询、WebSockets和其他需要与每个用户进行长时间连接的应用程序。
6 TurboGears框架
官网:
https://www.turbogears.org/
TurboGears具有其他Python框架都具有的功能,但与其他框架一样没有限制,因此可以说是框架的终结者。也可以应用于简单的微体系结构项目。它感觉不像在框架中工作,而是写新的功能。
7 CherryPy框架
官网:https://cherrypy.org/
CherryPy是一个轻量级的python网络框架,用来创建网络应用。比如快速实现api接口、做网站后端这样。感觉和flask差不多。
8 Flcon框架
官网:
http://falconframework.org/
Falcon 是一个最低限度的ASGI/WSGI框架,用于构建任务关键型REST API和微服务,重点关注规模上的可靠性、正确性和性能。
9 Asgineer框架
官网:
https://asgineer.readthedocs.io/
Asgineer 是一种编写异步 Web 应用程序的工具,使用尽可能少的抽象,同时仍然提供友好的 API。
10 Bottle框架
官网:
https://bottlepy.org/docs/dev/
Bottle 是一个用于 Python 的快速、简单和轻量级的 WSGI 微型网络框架。它作为单个文件模块分发,除了 Python 标准库之外没有任何依赖项。
11 Emmett框架
官网:https://emmett.sh/
Emmett 是发明家的框架,因为它旨在简化您的开发过程,其语法简单、易于学习和理解。不要在路由器和不舒服的模式之间浪费时间:每次为应用程序写下路由时,一切都清楚地呈现在您的眼前。
12 apidaora框架
官网:
https://github.com/dutradda/apidaora
使用类型注释将请求 / 响应声明为数据类和字典,使用 jsondaora 验证输入数据,最快的 python api 框架之一,可以在任何 asgi 服务器上运行。
13 Quixote框架
官网:http://www.quixote.ca/
Quixote 是一个使用 Python 编写基于 Web 的应用程序的框架。它的目标是按此顺序实现灵活性和高性能。Quixote 应用程序的结构往往类似于传统应用程序。格式化网页的逻辑由 Python 类和函数组成。
14 rahl框架
官网:https://www.reahl.org/
reahl 是一个可以让开发者完全用 Python 语言编写 Web 应用的开放框架,采用 Python 作为唯一开发语言是其最大特色。此外,reahl 提供了相当清晰且简明的开发组建,对于开发一般功能性 Web 系统足够清晰且可行。
15 hug框架
官网:https://hug.rest/
hug的定义是一个RESTFUL API的框架,如果你需要搭建一个API服务,那么HUG可能是你的最佳选择。
16 BlackSheep框架
官网:
https://github.com/Neoteroi/BlackSheep
BlackSheep是一个异步Web框架,用于使用Python构建基于事件的Web应用程序。
17 Index.py框架
官网:
https://index-py.aber.sh/stable/
实现了 ASGI3 接口并使用 Radix Tree 进行路由查找。是最快的 Python web 框架之一。一切特性都服务于快速开发高性能的 Web 服务。
18 Sanic框架
官网:
https://github.com/sanic-org/sanic
Sanic 既是一个Python web 服务器,又是一个web框架,它为速度而生。
19 Starlette框架
官网:
https://pypi.org/project/starlette/
Starlette 是一个轻量级的 ASGI 框架 / 工具包,具有包括 WebSocket 和 GraphQL 支持,进程内后台任务和真正的高性能等一系列特性。除此之外,还有 100% 类型注解的代码库和无依赖。可以把它看作是一版非常轻量的、现代的和异步的 Flask 。
20 Fastapi框架
官网:
https://fastapi.tiangolo.com/
FastAPI 是一个轻量级的 Web 框架。相比起来,Django 是 battery included,虽然配置麻烦,但默认就带了许多功能,包括很好用的 ORM、migration 工具,也包括很多安全方面的中间件等等,还有比如模板系统、静态资源管理系统等等,对于一般的业务网站来说,Django 是开箱即用的。
21 Responder框架
官网:
https://python-responder.org/
是 kennethreitz 新开发的一个项目,是一个基于 Python 的 HTTP 服务框架。底层用了 Starlette 的框架,Starlette 是一款轻量级的 ASGI 框架 / 工具包, 可以用 Starlette 构建高性能的异步 IO 服务。
22 Molten框架
官网:
https://moltenframework.com/
molten 是一个用Python构建HTTP API的迷你,可扩展,快速且高效的框架。
23 Clastic框架
官网:
https://github.com/mahmoud/clastic
一个功能强大的 Python Web 框架,可简化显式开发实践,同时消除全局状态。Clastic 是完全用 Python 语言编写的,增强可重用性和可测试性,主动 URL 路由检查,更好地控制应用程序初始化,改进的中间件范例,没有全局状态,ORM 用法,更容易的 WSGI 集成。
24 Aiohttp框架
官网:
https://docs.aiohttp.org/en/stable/
aiohttp 是一个异步框架,支持 HTTP 客户端、HTTP 服务端,能够快速实现异步爬虫。
25 Masonite框架
官网:
https://docs.masoniteproject.com/
Masonite是一个以开发人员为中心的Python Web框架,致力于开发包含开发人员工具,该工具具有很多现成的功能以及极其可扩展的体系结构。
26 Quart框架
官网:
https://pgjones.gitlab.io/quart/
Quart 是一个 Python 网络微框架。使用 Quart,您可以呈现和提供 HTML 模板,编写(RESTful)JSON API,服务 WebSockets,流请求和响应数据,几乎可以通过 HTTP 或 WebSocket 协议做任何事情。
27 Tonberry框架
官网:
https://github.com/Ayehavgunne/Tonberry
一个符合 ASGI 的 Web 微框架,采用基于类的路由方法。受 CherryPy 的影响但与 asyncio 兼容。一个名为 Qactuar 的配套 ASGI 服务器是从这个目前正在进行的项目中产生的。
28 cyclone框架
官网:https://cyclone.io/
Cyclone 是用 Python 编写的一款异步非阻塞的轻量级 Web Server 框架。它实现了 Tornado 的 API,底层实现是基于 Twisted Protocol 的。
29 Klein框架
官网:
https://github.com/twisted/klein
klein是一个小型的web框架,在服务器运行爬虫脚本的时候,可能没办法监测爬虫状态,使用Klein可以使我们随时打开浏览器查看想要监控的东西。
30 nameko框架
官网:
https://github.com/nameko/nameko
nameko 是python语言的一个微服务框架,支持通过 rabbitmq 消息队列传递的 rpc 调用,也支持 http 调用。本文主要介绍 nameko 的 rpc 调用以及一些注意事项。
31 CubicWeb框架
官网:https://www.cubicweb.org/
CubicWeb的最重要的支柱就是代码的可重用性。CubicWeb宣扬自己不仅是一个Web开发框架,而且还是一款语义Web开发框架。CubicWeb使用关系查询语言(RQL Relation Query Language)与数据库之间进行通信。
32 Zope2框架
官网:
https://zope.readthedocs.io/en/latest/
Zope 2是一款基于Python的Web应用框架,是所有Python Web应用程序、工具的鼻祖,是Python家族一个强有力的分支。Zope 2的“对象发布”系统非常适合面向对象开发方法,并且可以减轻开发者的学习曲线,还可以帮助你发现应用程序里一些不好的功能。
33 Web2py框架
官网:http://web2py.com/
web2py 是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容 Google App Engine。
34 Pylons框架
官网:
https://docs.pylonsproject.org/projects/pylons-webframework/en/latest/
Pylons是一个开放源代码的Web应用框架,使用python语言编写。它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中。
35 Cubes框架
官网:
https://pythonhosted.org/cubes/
Cubes作为一个轻量级Python OLAP框架,包含了OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。
36 Dpark框架
官网:
https://github.com/Liangchengdeye/Dpark
DPark是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。DPark由豆瓣实现,目前豆瓣内部的绝大多数数据分析都使用DPark完成,正日趋完善。
37 Buildbot框架
官网:
https://buildbot.python.org/all/#/
Buildbot是一个开源框架,可以自动化软件构建、测试和发布等过程。每当代码有改变,服务器要求不同平台上的客户端立即进行代码构建和测试,收集并报告不同平台的构建和测试结果。
38 anyio框架
官网:
https://github.com/agronholm/anyio
AnyIO是一个工作在asyncio或trio之上的异步网络和并发库。它在asyncio之上实现了类似于trio的结构化并发(SC),并与trio本身的原生SC协调工作。
原文链接:https://baijiahao.baidu.com/s?id=1747834446138459260&wfr=spider&for=pc