推荐值得学习的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中文件操作简明介绍
Apr 13 Python
python字典排序实例详解
May 20 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
Jan 11 Python
seek引发的python文件读写的问题及解决
Jul 26 Python
Python @property原理解析和用法实例
Feb 11 Python
详解Python中pyautogui库的最全使用方法
Apr 01 Python
python 爬取小说并下载的示例
Dec 07 Python
Pytorch中Softmax和LogSoftmax的使用详解
Jun 05 Python
教你用Python matplotlib库制作简单的动画
Jun 11 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 Python
Selenium浏览器自动化如何上传文件
Apr 06 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实现网站插件机制的方法
2009/11/10 PHP
PHP的autoload自动加载机制使用说明
2010/12/28 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
2019/08/07 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
通用求职信范文模板分享
2013/12/27 职场文书
会计工作决心书
2014/03/11 职场文书
李敖北大演讲稿
2014/05/24 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
Java常用函数式接口总结
2021/06/29 Java/Android
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫