2020最值得學(xué)習(xí)的12款python-web開發(fā)框架大盤點(diǎn)

最近JETBRAINS發(fā)布了目前最受歡迎的python-web開發(fā)框架亲桥,可以看到最受歡迎的還是Django和Flask,那么本文就對(duì)上榜的12個(gè)框架進(jìn)行分類整理固耘,一起來看看吧题篷!

對(duì)編程感興趣,對(duì)Python感興趣厅目,可以關(guān)注我噢·~私信可以免費(fèi)獲得Python編程學(xué)習(xí)資料~

目錄

全椃叮框架

Django

Pyramid

TurboGears

Web2py

微型框架

Flask

Bottle

Cherry

PyFalcon

Hug

FastAPI

異步框架

Sanic

Tornado

其他

Dash

Django

GitHub stars:47078

Django是高水準(zhǔn)的Python編程語言驅(qū)動(dòng)的一個(gè)開源模型.視圖,控制器風(fēng)格的Web應(yīng)用程序框架损敷,它起源于開源社區(qū)葫笼。使用這種架構(gòu),程序員可以方便拗馒、快捷地創(chuàng)建高品質(zhì)路星、易維護(hù)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的應(yīng)用程序诱桂。另外洋丐,在Django框架中,還包含許多功能強(qiáng)大的第三方插件挥等,使得Django具有較強(qiáng)的可擴(kuò)展性友绝。那么Django憑什么能獨(dú)占鰲頭呢:

完善的ORM關(guān)系映射

強(qiáng)大的路由映射功能

完善的視圖模板的實(shí)現(xiàn)

健全的后臺(tái)管理系統(tǒng)

強(qiáng)大的緩存支持

GitHub https://github.com/django

Pyramid

GitHub stars:3216

Pyramid是一個(gè)基于Python的開放源代碼,也是第二個(gè)值得注意的Web應(yīng)用程序框架肝劲。其目標(biāo)是以最小的復(fù)雜度來盡可能多地完成更多任務(wù)迁客。Pyramid 1.10是框架的當(dāng)前版本,并且是自2010年以來的第十次更新辞槐。那么Pyramid有以下特點(diǎn):

單個(gè)文件的應(yīng)用程序

通用的URL

可擴(kuò)展的配置

各種各樣的模板

靈活的身份驗(yàn)證和授權(quán)

測(cè)試掷漱、支持和全面的數(shù)據(jù)文檔

TurboGears

GitHub stars:654

TurboGears是一個(gè)開源的,數(shù)據(jù)驅(qū)動(dòng)的全棧Web應(yīng)用程序框架催蝗。它建立在許多中間件和許多庫(kù)的基礎(chǔ)上切威,因此可以快速開發(fā)可擴(kuò)展的數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用程序育特。它擁有友好的模板引擎以及一個(gè)強(qiáng)大而靈活的ORM和可重復(fù)使用的代碼片段丙号。除了使設(shè)計(jì)師的工作更輕松的出色模板系統(tǒng)外,TurboGears還提供了很多靈活性缰冤,強(qiáng)大的聚合支持犬缨,TurboGears的一些獨(dú)特功能包括:

多數(shù)據(jù)庫(kù)支持

MVC風(fēng)格的架構(gòu)

支持SQLObject和SQLAlchemy

使用FormEncode進(jìn)行驗(yàn)證

基于WSGI的前端服務(wù)器

命令行工具

MochiKit JavaScript庫(kù)集成

Web2py

GitHub stars:1798

Web2py是可擴(kuò)展的開源全棧Python框架。在處理數(shù)據(jù)時(shí)棉浸,它非常強(qiáng)大怀薛。Web2py最初是作為教學(xué)工具提供的,重點(diǎn)是易用性迷郑。Web2py的優(yōu)點(diǎn)是它帶有自己的基于Web的IDE枝恋,其中包括代碼編輯器创倔,調(diào)試器和一鍵式部署。Web2py的其他重要功能包括:

無需安裝和配置

能夠在Windows焚碌,Mac畦攘,Linux / Unix,Google App Engine十电,Amazon EC2以及任何支持Python 2.5–2.7或Java + Python的網(wǎng)絡(luò)托管上運(yùn)行

多種協(xié)議的可讀性

數(shù)據(jù)安全性可防止跨站點(diǎn)腳本編寫知押,注入漏洞和惡意文件執(zhí)行等漏洞

成功采用軟件工程實(shí)踐,使代碼易于閱讀和維護(hù)

Flask

GitHub stars:49380

Flask是一個(gè)輕量級(jí)的可定制框架鹃骂,較其他同類型框架更為靈活台盯、輕便、安全且容易上手畏线。它可以很好地結(jié)合MVC模式進(jìn)行開發(fā)静盅,開發(fā)人員分工合作,小型團(tuán)隊(duì)在短時(shí)間內(nèi)就可以完成功能豐富的中小型網(wǎng)站或Web服務(wù)的實(shí)現(xiàn)寝殴。其強(qiáng)大的插件庫(kù)可以讓用戶實(shí)現(xiàn)個(gè)性化的網(wǎng)站定制温亲,開發(fā)出功能強(qiáng)大的網(wǎng)站。它包括許多有用的現(xiàn)成功能:

內(nèi)置開發(fā)服務(wù)器和快速調(diào)試器

集成的單元測(cè)試支持

安全cookie支持

符合WSGI 1.0

基于Unicode

能夠插入任何ORM

Bottle

GitHub stars:6349

Bottle是一個(gè)微框架杯矩。Bottle最初意在構(gòu)建API栈虚,它在單個(gè)源文件中實(shí)現(xiàn)所有功能。除了Python標(biāo)準(zhǔn)庫(kù)外史隆,它沒有依賴項(xiàng)魂务。使用Bottle進(jìn)行編碼比使用任何全棧框架進(jìn)行編碼更穩(wěn)定泌射。但是粘姜,只有編寫一個(gè)很小的應(yīng)用程序(最多500行代碼且無特殊要求)時(shí),Bottle才是較好的選擇熔酷。它的默認(rèn)功能包括路由孤紧,模板,實(shí)用程序以及基于WSGI標(biāo)準(zhǔn)的基本抽象拒秘。

路由?:支持對(duì)函數(shù)調(diào)用映射的請(qǐng)求

模板?:一個(gè)現(xiàn)成的快速Pythonic 模板引擎号显,并全面支持mako和inja2

實(shí)用程序?:輕松訪問表單數(shù)據(jù),文件上傳躺酒,Cookie

服務(wù)器?:一個(gè)內(nèi)置的HTTP服務(wù)器的發(fā)展押蚤,支持fapws3

CherryPy

GitHub stars:1057

CherryPy是一個(gè)開放源代碼的簡(jiǎn)約Web框架。它是構(gòu)建Python Web應(yīng)用程序與構(gòu)建任何其他面向?qū)ο蟮某绦驔]有什么不同羹应。但基于CherryPy的Web應(yīng)用程序是一個(gè)獨(dú)立的Python應(yīng)用程序揽碘,它嵌入了自己的多線程Web服務(wù)器。借助自己的Web服務(wù)器,擴(kuò)展點(diǎn)包括請(qǐng)求-響應(yīng)周期之外的功能雳刺,從而增加了CherryPy的可擴(kuò)展性劫灶。CherryPy的一些默認(rèn)功能包括:

強(qiáng)大的配置系統(tǒng)

靈活的插件系統(tǒng)

現(xiàn)成的緩存,編碼掖桦,會(huì)話浑此,認(rèn)證,靜態(tài)內(nèi)容等工具

內(nèi)置對(duì)性能分析滞详,覆蓋率和測(cè)試的支持

能夠在Python 2.7 +凛俱,Python 3.1 +,PyPy料饥,Jython和Android上運(yùn)行

Falcon

GitHub stars:7500

Falcon是一個(gè)Python Web API框架蒲犬,用于構(gòu)建非常快速的應(yīng)用程序后端岸啡。該框架的徽標(biāo)是獵鷹原叮,象征著獵鷹的工作速度。該框架允許開發(fā)人員制定更簡(jiǎn)潔的設(shè)計(jì)并處理大多數(shù)請(qǐng)求巡蘸。Falcon未限制開發(fā)人員選擇數(shù)據(jù)庫(kù)和授權(quán)庫(kù)奋隶。Falcon其他的功能有:

全面的測(cè)試套件可實(shí)現(xiàn)100%的代碼覆蓋率

高度優(yōu)化的代碼庫(kù)

前期異常處理

通過中間件組件處理DRY請(qǐng)求

通用的HTTP錯(cuò)誤響應(yīng)

通過WSGI幫助器進(jìn)行單元測(cè)試

Hug

GitHub stars:5955

Hug是一個(gè)Python 3 API開發(fā)框架。它的設(shè)計(jì)使軟件工程師可以一次開發(fā)API悦荒,然后在需要時(shí)再使用它唯欣。Hug框架通過提供各種接口來簡(jiǎn)化API開發(fā)。這就是為什么該框架被稱為Python 3中最快的框架之一的主要原因搬味。hug的主要特點(diǎn):

支持自動(dòng)文檔

注釋驅(qū)動(dòng)的驗(yàn)證

內(nèi)置版本管理

遵守cython

可以當(dāng)作python庫(kù)使用

FastAPI

GitHub stars:10900

FastAPI是基于Python的現(xiàn)代框架境氢。它最初被設(shè)計(jì)為易于使用,以確保最佳的開發(fā)體驗(yàn)碰纬。迄今為止萍聊,F(xiàn)astAPI是使用Python 3.6+構(gòu)建API最快的框架之一。該框架具有Flask的幾個(gè)特征悦析,包括其簡(jiǎn)單性寿桨。整個(gè)框架基于Starlette構(gòu)建,并包含其大部分功能(模板强戴,WebSocket和GraphQL支持)亭螟。FastAPI框架提供:

開發(fā)速度提高200%至300%

減少40%的錯(cuò)誤

調(diào)試時(shí)間更少

減少代碼重復(fù)

自動(dòng)交互式文檔

Sanic

GitHub stars:13511

Sanic是一個(gè)基于uvloop的Python Web框架,專門針對(duì)通過異步請(qǐng)求處理的快速HTTP響應(yīng)而創(chuàng)建酌泰。它可以在Python 3.5+上運(yùn)行媒佣。Sanic支持異步請(qǐng)求處理程序匕累,這使其與Python 3.5的async / await函數(shù)兼容陵刹。這提高了速度,提供了非阻塞功能。由于Sonic具有路由衰琐,中間件也糊,cookie,版本控制羡宙,靜態(tài)文件狸剃,藍(lán)圖,基于類的視圖和套接字狗热,因此被認(rèn)為是首選的異步框架钞馁。但是,它不提供數(shù)據(jù)庫(kù)支持和模板匿刮。

Tornado

GitHub stars:18293

Tornado是一個(gè)Python web框架和異步網(wǎng)絡(luò)庫(kù)僧凰,側(cè)重于速度和處理大量流量的能力。它使用非阻塞網(wǎng)絡(luò)I/O熟丸,解決了C10k問題(這意味著训措,如果正確配置,它可以處理10,000多個(gè)并發(fā)連接)光羞。這使得它成為構(gòu)建需要高性能和成千上萬并發(fā)用戶的應(yīng)用程序的好工具绩鸣。

內(nèi)置對(duì)用戶身份驗(yàn)證的支持

實(shí)時(shí)服務(wù)

高品質(zhì)的表現(xiàn)

基于Python的Web模板語言

實(shí)施第三方身份驗(yàn)證和授權(quán)方案(Google OpenID / OAuth,F(xiàn)acebook登錄纱兑,Yahoo BBAuth呀闻,F(xiàn)riendFeed OpenID / OAuth,Twitter OAuth)

Dash

GitHub stars:11000

Dash是一個(gè)用于構(gòu)建分析性web應(yīng)用程序的開源Python框架潜慎。對(duì)于不太熟悉web開發(fā)的Python數(shù)據(jù)科學(xué)家來說总珠,這尤其有用。Dash有兩個(gè)特點(diǎn):

僅使用Python代碼構(gòu)建高度交互的應(yīng)用程序勘纯。

使用Python工具來操作數(shù)據(jù)變得非常簡(jiǎn)單局服。

對(duì)編程感興趣,對(duì)Python感興趣驳遵,可以關(guān)注我噢·~私信可以免費(fèi)獲得Python編程學(xué)習(xí)資料~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末淫奔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子堤结,更是在濱河造成了極大的恐慌唆迁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件竞穷,死亡現(xiàn)場(chǎng)離奇詭異唐责,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瘾带,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門鼠哥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事朴恳〕保” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵于颖,是天一觀的道長(zhǎng)呆贿。 經(jīng)常有香客問我,道長(zhǎng)森渐,這世上最難降的妖魔是什么做入? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮同衣,結(jié)果婚禮上母蛛,老公的妹妹穿的比我還像新娘慎冤。我一直安慰自己瘦穆,他們只是感情好妻导,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布誊爹。 她就那樣靜靜地躺著适滓,像睡著了一般砰蠢。 火紅的嫁衣襯著肌膚如雪古程。 梳的紋絲不亂的頭發(fā)上户盯,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天询枚,我揣著相機(jī)與錄音违帆,去河邊找鬼。 笑死金蜀,一個(gè)胖子當(dāng)著我的面吹牛刷后,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播渊抄,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼尝胆,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了护桦?” 一聲冷哼從身側(cè)響起含衔,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎二庵,沒想到半個(gè)月后贪染,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡催享,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年杭隙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片因妙。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡痰憎,死狀恐怖票髓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情信殊,我是刑警寧澤炬称,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布汁果,位于F島的核電站涡拘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏据德。R本人自食惡果不足惜鳄乏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棘利。 院中可真熱鬧橱野,春花似錦、人聲如沸善玫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茅郎。三九已至蜗元,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間系冗,已是汗流浹背奕扣。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掌敬,地道東北人惯豆。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像奔害,于是被迫代替她去往敵國(guó)和親楷兽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355