推荐值得学习的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实现的石头剪子布代码分享
Aug 22 Python
Python实现一个简单的MySQL类
Jan 07 Python
Python编程中用close()方法关闭文件的教程
May 24 Python
Python运算符重载用法实例分析
Jun 01 Python
用tensorflow搭建CNN的方法
Mar 05 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
python调用webservice接口的实现
Jul 12 Python
决策树剪枝算法的python实现方法详解
Sep 18 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
通过python 执行 nohup 不生效的解决
Apr 16 Python
PyTorch-GPU加速实例
Jun 23 Python
pycharm进入时每次都是insert模式的解决方式
Feb 05 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常用Output和ptions/Info函数集介绍
2013/06/19 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
js实现点击图片自动提交action的简单方法
2016/10/16 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
Python读写配置文件的方法
2015/06/03 Python
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
python中必要的名词解释
2019/11/20 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
停车场管理制度范本
2015/08/05 职场文书
浅谈Python数学建模之线性规划
2021/06/23 Python