推荐 6 个 yyds 的开源 Python Web 框架
提到 Python 的 Web 框架,第一反应就是老三样,Django,Flask 和 Tornado。如果按流行度来排名的话,应该也是这个顺序。
但是今天重点介绍的框架是FastAPI,现在很多公司招聘的要求都需要会这个框架,非常值得学习。
Django
Python 中最流行的 Web 框架,功能非常全面,像安全认证,URL Routing,模板引擎,ORM,甚至 Admin 管理后台,全部包括。
Flask
也是非常流行的一个 Web 框架,它的特定是轻便,灵活,可定制性强。
用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时,实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
Bottle
一个简单高效的遵循 WSGI 的微型 Web 框架。说微型,是因为它只有一个文件,除 Python 标准库外,它不依赖于任何第三方模块。
这个框架使用的比较少,不过源码也很少,如果想读源码的话,从它入手倒是一个不错的选择
Tornado
Tornado 是一个基于 Python 的 Web 服务框架和异步网络库,通过利用非阻塞网络 I/O, 可以承载成千上万的活动连接。在需要长连接的场景下使用,效果会更好。
Sanic
2016 年 5 月发布的第一个版本,整体表现还是不错的,使用的人也越来越多。
Sanic 是 Python3.7+ Web 服务器和 Web 框架,旨在提高性能。它允许使用 Python3.5 中添加的 async/await
语法,可以使代码有效的避免阻塞从而达到提升响应速度的目的。
FastAPI
简介
1.FastAPI是什么?
FastAPI现代的,快速的(高性能)python web框架。基于标准的python类型,使用是一个制造API的3.6+Web框架。
2.FastAPI 的主要特点:
-
性能:与 NodeJS 和 Go 相当(这个要感谢 Starlette Pdantic),是高性能的 Python 之一。
-
快速编码:将开发速度提高约200%到300%。
-
开发人员的错误:大约40%的开发人员为引发的错误。
-
支持:强大的编辑器,调试时间更短。
-
简单文档:轻松使用时间和学习。减少阅读的。
每个参数可以声明多个函数,程序的bug。
生产代码会自动生成生成健文档。
-
基于标准:基于完整API和JSON模式的开放标准:开放API。
环境准备
安装fastapi
点安装fastapi
点安装“uvicorn [标准]”
对于生产环境,还需要一个 ASGI 服务器,如 Uvicorn 或 Hypercorn
入门示例程序
新建一个main.py,编写如下程序:
从fastapi导入FastAPI
应用程序=快速 API ()
@app 。get ( "/" )
def read_root (): return { "Hello" : "World" }
@app 。获取(“/items/{item_id}” )
def read_item (item_id :int ,q :str = None ): 返回{ “item_id” :item_id ,“q” :q }
运行程序:
uvicorn main:app --reload
信息:Uvicorn 在 http://127.0.0.1:8000 上运行(按 CTRL+C 退出)
信息:已启动重新加载进程 [28720]
信息:已启动服务器进程 [28722]
信息:等待应用程序启动。
信息:应用程序启动完成。