推荐值得学习的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正则表达式中的括号匹配问题
Dec 14 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
python微信跳一跳系列之色块轮廓定位棋盘
Feb 26 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
python使用matplotlib画饼状图
Sep 25 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
python机器学习包mlxtend的安装和配置详解
Aug 21 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
Python 3.8正式发布重要新功能一览
Oct 17 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
python如何从键盘获取输入实例
Jun 18 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 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使用静态方法的几个注意事项
2014/09/16 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
原生js实现弹幕效果
2020/11/29 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
Python入门及进阶笔记 Python 内置函数小结
2014/08/09 Python
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
Python3运算符常见用法分析
2020/02/14 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
教育科研先进个人材料
2014/01/26 职场文书
DIY手工制作经营店创业计划书
2014/02/01 职场文书
安全宣传标语口号
2014/06/06 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
初中体育教学随笔
2015/08/15 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python