都2022年了,Python Web框架你不会只知道Django和Flask吧?
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
写在前面
本文的诞生非常偶然,这两天一个小小小学弟问橡皮擦一个陈年旧问题,Python 基础学完了,想学习一个 Python Web 框架,是先学习 Django 呢,还是学习 Flask,现在的公司都用啥?
每次这个问题出现的时候,我都会给拉一个清单,这次咱们直接把它转换成文章吧。
标题就叫做《2022 年,你该学习的 Python Web 框架》
以下涉及的所有框架,都不提供官网和任何学习资料,作为一个合格的程序员,这些要自己能找到。
第一款:Flask
先学这个吧,轻便,灵活,定制性强,重点是上手就能用,而且又流行,
橡皮擦认识很多 Python Web 工程师就拿这个接小活做,==做的又快,来钱也快==。
Logo 是个辣椒的图标,比较火热~
第二款:Django
Python Web 框架中的大哥,大而全,自带了一堆功能,学会了之后,做后台管理系统,安装之后,配置几下就可用。
有一定的学习门槛,框架模式遵循 MTV 模式,即模型,视图,模板。
如果你初学阶段就上手的 django,掌握之后,回过头来看 Flask,==呃,小项目你会毫不犹豫的选择 Flask==。
第三款:tornado
是 Python Web 框架的同时,也是一款异步网络库,使用的是非阻塞 IO,所以处理速度特别快。 性能优秀,高并发优秀,但是因为其涉及异步 IP 相关知识,所以对初学者不友好,即学起来难度有那么一丢丢的高
如果你 Python 基础还不错,那 tornado 对你来说也是一个轻量级的 Web 框架,而且支持异步编程和 Web Socket,必须学这个呀。
第四款:Bottle
一个遵循 WSGI 的微型 Web 框架,整个架子就一个几十 K 的文件,里面包含路由,模板,简单的数据访问,6 的飞起。
不过也正是因为它“太简陋"了,学学就会了,所以大家总是在忽略它。
第五款:Sanic
不新不旧,不火不热的框架,基于 Python3.6+实现,支持 async/await 语法,所以也是一个高效框架。
目前的问题就是资料少,生态没有那么好(Sanic 插件文档都几乎没有),不过学习阶段肯定够了,语法非常类似 Flask,所以二者我选 Flask。
但是注意一点 Sanic 是异步框架,性能优于 Flask。
第六款:FastApi
没错,现在大家炒的最火热的”现代“ Python Web 框架,号称性能第一,编码速度第一,文档最简单,还能帮程序员减少错误。
还有一点是新,2019 年的框架,当下又这么火,所以必须学习一下。
其余 Python Web 框架
除了上文提及的框架外,还有一些小众,或为特殊场景准备的轮子框架。
如果你学有余力,都可以涉猎一下。
falcon
一个高性能构建大规模应用以及微服务的 Python Web 框架。
pyramid
以高效率和快节奏的开发能力而出名的 Python Web 框架。
asgineer
支持异步的 Web 框架。
emmett
宣传的是更加专注产品,简化开发过程,简化语法的一个框架。
apidaora
看名字就能猜测一下,它是一款专注于 Python Api 的框架。
hug
hug 的定义是一个 RESTFUL API 的框架,做接口平台用的框架
blacksheep
BlackSheep 是一个异步 Web 框架,语法与 Flask 类似。
index.py
着重优化了路由查找功能,因为号称是最快的 Python Web 框架之一,不过同行都这么称呼自己。
但是它的名字实在不讨好,毕竟橡皮擦总是创建一个叫 index.py
的文件。
starlette
一个轻量级的 ASGI 框架,在后面橡皮擦为大家补充一篇介绍 ASGI 知识点的文章。
responder
底层是 starlette
,是 kennethreitz
写的,质量很有保证,这个大佬是谁?requests
模块的作者。
clastic
自己搜搜吧,这个不太了解,资料也不多。
molten
同样是一款小巧迷你的开发 API 的框架
aiohttp
写爬虫常用,基于 asyncio 和 异步 Web 框架。
cherrypy
与其它框架不同,cherrypy 有自己的想法,它希望开发者按照面向对象的思路开发 Web 系统,所以可以重点关注一下这个框架。
masonite
以 Django 为竞争对手的框架,你现在应该知道它是啥了吧。
cyclone
Cyclone 将 Tornado API 实现为 Twisted 协议。
django-ninja
好家伙,这个是 Django 和 FastApi 的结合体,官方说的是 Fast Django REST Framework,而且口号是:fast to learn,fast to code,fast to run,厉害,厉害。
web.py
Guido van Rossum 认为这是最好的 Python Web 框架,可惜作者已经不在了。
总结
Python Web 框架非常多,很多并未出现在上文,一个 Python Web 工程师仅需要学习前 6 款即可,剩下的可以工作中进行学习。 本文你可以收藏,然后万一哪天用到了呢~
- 嗨,各位Python程序员,放弃selenium,试试年轻的Playwright如何?
- 09年的老电脑说想看一下CPU温度,作为Python工程师,怎能安装X大师?
- 如果你需要用Python搞个二维码,那应该收藏这篇博客
- 写给Python社群的第2课:Python逻辑语句,天天要写的 if 和 while
- 嗨,程序员,你知道高级工程师用的搜索引擎吗?
- 都2022年了,Python Web框架你不会只知道Django和Flask吧?
- 在座的Python爬虫工程师,你敢爬律师事务所站点吗?
- Python爬虫反爬,你应该从这篇博客开启,UA反爬,Cookie 特定参数反爬
- OpenGauss数据库在 CentOS 上的实践,配置篇
- 【Python技能树共建】动态渲染页面爬取
- 【Python技能树共建】Beautiful Soup
- 【首发字体反爬】猫X眼YingShi,我们又来欺负你了,用到了 OCR 识别技术
- 【首发】某易跟帖篇频道,接口溯源分析,反爬新技巧,必掌握一下
- 【首发】Python反爬,JS反爬串讲,从MAOX眼X开始,本文优先解决反爬参数 signKey
- 【首发】写Python爬虫,服务器返回数据加密了,套路解决法~,出版社,出版社
- 虎牙直播数据采集,为数据分析做储备,Python爬虫120例之第24例
- 我们的骄傲!非遗数据采集,来自官方的数据,Python爬虫无所不爬
- 3天掌握Flask开发项目系列博客之二,操作数据库
- 写给Python社群的第1课:初识Python,开篇知识点就选字符串吧~
- 升级【爸爸程序员】了?用Python给自己的宝贝下载200 绘本动画吧!