推荐值得学习的12款python-web开发框架


Posted in Python onAugust 10, 2020

最近JETBRAINS发布了目前最受欢迎的python-web开发框架,可以看到最受欢迎的还是Django和Flask,那么本文就对上榜的12个框架进行分类整理,一起来看看吧!

推荐值得学习的12款python-web开发框架

全栈框架

  • Django
  • Pyramid
  • TurboGears
  • Web2py

微型框架

  • Flask
  • Bottle
  • CherryPy
  • Falcon
  • Hug
  • FastAPI

异步框架

  • Sanic
  • Tornado

其他

  • Dash

Django

GitHub stars:47078

推荐值得学习的12款python-web开发框架

Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。另外,在Django框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。那么Django凭什么能独占鳌头呢:

  • 完善的ORM关系映射
  • 强大的路由映射功能
  • 完善的视图模板的实现
  • 健全的后台管理系统
  • 强大的缓存支持

GitHub https://github.com/django

Pyramid

GitHub stars:3216

推荐值得学习的12款python-web开发框架

Pyramid是一个基于Python的开放源代码,也是第二个值得注意的Web应用程序框架。其目标是以最小的复杂度来尽可能多地完成更多任务。Pyramid 1.10是框架的当前版本,并且是自2010年以来的第十次更新。那么Pyramid有以下特点:

  • 单个文件的应用程序
  • 通用的URL
  • 可扩展的配置
  • 各种各样的模板
  • 灵活的身份验证和授权
  • 测试、支持和全面的数据文档

TurboGears

GitHub stars:654

推荐值得学习的12款python-web开发框架

TurboGears是一个开源的,数据驱动的全栈Web应用程序框架。它建立在许多中间件和许多库的基础上,因此可以快速开发可扩展的数据驱动的Web应用程序。它拥有友好的模板引擎以及一个强大而灵活的ORM和可重复使用的代码片段。除了使设计师的工作更轻松的出色模板系统外,TurboGears还提供了很多灵活性,强大的聚合支持,TurboGears的一些独特功能包括:

  • 多数据库支持
  • MVC风格的架构
  • 支持SQLObject和SQLAlchemy
  • 使用FormEncode进行验证
  • 基于WSGI的前端服务器
  • 命令行工具
  • MochiKit JavaScript库集成

Web2py

GitHub stars:1798

推荐值得学习的12款python-web开发框架

Web2py是可扩展的开源全栈Python框架。在处理数据时,它非常强大。Web2py最初是作为教学工具提供的,重点是易用性。Web2py的优点是它带有自己的基于Web的IDE,其中包括代码编辑器,调试器和一键式部署。Web2py的其他重要功能包括:

  • 无需安装和配置
  • 能够在Windows,Mac,Linux / Unix,Google App Engine,Amazon EC2以及任何支持Python 2.5?2.7或Java + Python的网络托管上运行
  • 多种协议的可读性
  • 数据安全性可防止跨站点脚本编写,注入漏洞和恶意文件执行等漏洞
  • 成功采用软件工程实践,使代码易于阅读和维护

Flask

GitHub stars:49380

推荐值得学习的12款python-web开发框架

Flask是一个轻量级的可定制框架,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。它包括许多有用的现成功能:

  • 内置开发服务器和快速调试器
  • 集成的单元测试支持
  • 安全cookie支持
  • 符合WSGI 1.0
  • 基于Unicode
  • 能够插入任何ORM

Bottle

GitHub stars:6349

推荐值得学习的12款python-web开发框架

Bottle是一个微框架。Bottle最初意在构建API,它在单个源文件中实现所有功能。除了Python标准库外,它没有依赖项。使用Bottle进行编码比使用任何全栈框架进行编码更稳定。但是,只有编写一个很小的应用程序(最多500行代码且无特殊要求)时,Bottle才是较好的选择。它的默认功能包括路由,模板,实用程序以及基于WSGI标准的基本抽象。

  • 路由 :支持对函数调用映射的请求
  • 模板 :一个现成的快速Pythonic 模板引擎,并全面支持mako和inja2
  • 实用程序 :轻松访问表单数据,文件上传,Cookie
  • 服务器 :一个内置的HTTP服务器的发展,支持fapws3

CherryPy

GitHub stars:1057

推荐值得学习的12款python-web开发框架

CherryPy是一个开放源代码的简约Web框架。它使构建Python Web应用程序与构建任何其他面向对象的程序没有什么不同。但基于CherryPy的Web应用程序是一个独立的Python应用程序,它嵌入了自己的多线程Web服务器。借助自己的Web服务器,扩展点包括请求-响应周期之外的功能,从而增加了CherryPy的可扩展性。CherryPy的一些默认功能包括:

  • 强大的配置系统
  • 灵活的插件系统
  • 现成的缓存,编码,会话,认证,静态内容等工具
  • 内置对性能分析,覆盖率和测试的支持
  • 能够在Python 2.7 +,Python 3.1 +,PyPy,Jython和Android上运行

Falcon

GitHub stars:7500

推荐值得学习的12款python-web开发框架

Falcon是一个Python Web API框架,用于构建非常快速的应用程序后端。该框架的徽标是猎鹰,象征着猎鹰的工作速度。该框架允许开发人员制定更简洁的设计并处理大多数请求。Falcon未限制开发人员选择数据库和授权库。Falcon其他的功能有:

  • 全面的测试套件可实现100%的代码覆盖率
  • 高度优化的代码库
  • 前期异常处理
  • 通过中间件组件处理DRY请求
  • 通用的HTTP错误响应
  • 通过WSGI帮助器进行单元测试

Hug

GitHub stars:5955

推荐值得学习的12款python-web开发框架

Hug是一个Python 3 API开发框架。它的设计使软件工程师可以一次开发API,然后在需要时再使用它。Hug框架通过提供各种接口来简化API开发。这就是为什么该框架被称为Python 3中最快的框架之一的主要原因。hug的主要特点:

  • 支持自动文档
  • 注释驱动的验证
  • 内置版本管理
  • 遵守cython
  • 可以当作python库使用

FastAPI

GitHub stars:10900

推荐值得学习的12款python-web开发框架

FastAPI是基于Python的现代框架。它最初被设计为易于使用,以确保最佳的开发体验。迄今为止,FastAPI是使用Python 3.6+构建API最快的框架之一。该框架具有Flask的几个特征,包括其简单性。整个框架基于Starlette构建,并包含其大部分功能(模板,WebSocket和GraphQL支持)。FastAPI框架提供:

  • 开发速度提高200%至300%
  • 减少40%的错误
  • 调试时间更少
  • 减少代码重复
  • 自动交互式文档

Sanic

GitHub stars:13511

推荐值得学习的12款python-web开发框架

Sanic是一个基于uvloop的Python Web框架,专门针对通过异步请求处理的快速HTTP响应而创建。它可以在Python 3.5+上运行。Sanic支持异步请求处理程序,这使其与Python 3.5的async / await函数兼容。这提高了速度,提供了非阻塞功能。由于Sonic具有路由,中间件,cookie,版本控制,静态文件,蓝图,基于类的视图和套接字,因此被认为是首选的异步框架。但是,它不提供数据库支持和模板。

Tornado

GitHub stars:18293

推荐值得学习的12款python-web开发框架

Tornado是一个Python web框架和异步网络库,侧重于速度和处理大量流量的能力。它使用非阻塞网络I/O,解决了C10k问题(这意味着,如果正确配置,它可以处理10,000多个并发连接)。这使得它成为构建需要高性能和成千上万并发用户的应用程序的好工具。

  • 内置对用户身份验证的支持
  • 实时服务
  • 高品质的表现
  • 基于Python的Web模板语言
  • 实施第三方身份验证和授权方案(Google OpenID / OAuth,Facebook登录,Yahoo BBAuth,FriendFeed OpenID / OAuth,Twitter OAuth)

Dash

GitHub stars:11000

推荐值得学习的12款python-web开发框架

Dash是一个用于构建分析性web应用程序的开源Python框架。对于不太熟悉web开发的Python数据科学家来说,这尤其有用。Dash有两个特点:

  • 仅使用Python代码构建高度交互的应用程序。
  • 使用Python工具来操作数据变得非常简单。

以上就是推荐值得学习的12款python-web开发框架的详细内容,更多关于Python web开发框架的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
《Python学习手册》学习总结
Jan 17 Python
Python for循环中的陷阱详解
Jul 13 Python
Python使用pickle模块储存对象操作示例
Aug 15 Python
transform python环境快速配置方法
Sep 27 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
解决python中使用PYQT时中文乱码问题
Jun 17 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
python topk()函数求最大和最小值实例
Apr 02 Python
Django如何使用redis作为缓存
May 21 Python
Python常见反爬虫机制解决方案
Jun 01 Python
python多线程semaphore实现线程数控制的示例
Aug 10 #Python
如何在python中实现线性回归
Aug 10 #Python
Python多线程的退出控制实现
Aug 10 #Python
Python进行统计建模
Aug 10 #Python
Python如何爬取b站热门视频并导入Excel
Aug 10 #Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 #Python
Python 发送邮件方法总结
Aug 10 #Python
You might like
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
基于jquery的拖动布局插件
2011/11/25 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
微信小程序开发探究
2016/12/27 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python中的生成器和yield详细介绍
2015/01/09 Python
Python smallseg分词用法实例分析
2015/05/28 Python
Python的迭代器和生成器
2015/07/29 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Python实现异步IO的示例
2020/11/05 Python
Django实现简单的分页功能
2021/02/22 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
.net工程师笔试题
2012/06/09 面试题
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
村道德模范事迹材料
2014/08/28 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书