推薦六個(gè)yyds的開源 Python Web 框架
提到 Python 的 Web 框架,第一反應(yīng)就是老三樣,Django,F(xiàn)lask 和 Tornado。如果按流行度來排名的話,應(yīng)該也是這個(gè)順序。
在 2016 年,發(fā)布了一款 Web 框架,叫 Sanic,表現(xiàn)還不錯(cuò),應(yīng)該算是后起之秀。
而 FastAPI 在異步方面表現(xiàn)更加出色,同時(shí)更現(xiàn)代,更高效。截止到這篇文章,F(xiàn)astAPI 在 GitHub 上的 star 數(shù)量已經(jīng)有 44k。
Django
項(xiàng)目地址: https://github.com/django/django
Python 中最流行的 Web 框架,功能非常全面,像安全認(rèn)證,URL Routing,模板引擎,ORM,甚至 Admin 管理后臺(tái),全部包括。
Flask
項(xiàng)目地址: https://github.com/pallets/flask
也是非常流行的一個(gè) Web 框架,它的特定是輕便,靈活,可定制性強(qiáng)。
用戶可以根據(jù)自己的需求來添加相應(yīng)的功能,在保持核心功能簡(jiǎn)單的同時(shí),實(shí)現(xiàn)功能的豐富與擴(kuò)展,其強(qiáng)大的插件庫(kù)可以讓用戶實(shí)現(xiàn)個(gè)性化的網(wǎng)站定制,開發(fā)出功能強(qiáng)大的網(wǎng)站。
Bottle
項(xiàng)目地址: https://github.com/bottlepy/bottle
一個(gè)簡(jiǎn)單高效的遵循 WSGI 的微型 Web 框架。說微型,是因?yàn)樗挥幸粋€(gè)文件,除 Python 標(biāo)準(zhǔn)庫(kù)外,它不依賴于任何第三方模塊。
這個(gè)框架使用的比較少,不過源碼也很少,如果想讀源碼的話,從它入手倒是一個(gè)不錯(cuò)的選擇
Tornado
項(xiàng)目地址: https://github.com/tornadoweb/tornado
Tornado 是一個(gè)基于 Python 的 Web 服務(wù)框架和異步網(wǎng)絡(luò)庫(kù),通過利用非阻塞網(wǎng)絡(luò) I/O, 可以承載成千上萬的活動(dòng)連接。在需要長(zhǎng)連接的場(chǎng)景下使用,效果會(huì)更好。
Sanic
項(xiàng)目地址: https://github.com/sanic-org/sanic
2016 年 5 月發(fā)布的第一個(gè)版本,整體表現(xiàn)還是不錯(cuò)的,使用的人也越來越多。
Sanic 是 Python3.7+ Web 服務(wù)器和 Web 框架,旨在提高性能。它允許使用 Python3.5 中添加的 async/await 語法,可以使代碼有效的避免阻塞從而達(dá)到提升響應(yīng)速度的目的。
FastAPI
項(xiàng)目地址: https://github.com/tiangolo/fastapi
FastAPI 是一個(gè)用于構(gòu)建 API 的現(xiàn)代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于標(biāo)準(zhǔn)的 Python 類型提示。
該框架鼓勵(lì)使用 Pydantic 和 OpenAPI (以前稱為 Swagger) 進(jìn)行文檔編制,使用 Docker 進(jìn)行快速開發(fā)和部署以及基于 Starlette 框架進(jìn)行的簡(jiǎn)單測(cè)試。