新聞中心
這篇文章給大家分享的是有關(guān)python-web開發(fā)框架都有哪些是比較好的的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的阿拉爾網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!最近JETBRAINS發(fā)布了目前最受歡迎的python-web開發(fā)框架,可以看到最受歡迎的還是Django和Flask,那么本文就對(duì)上榜的12個(gè)框架進(jìn)行分類整理,一起來看看吧!
全??蚣?/strong>
- Django
- Pyramid
- TurboGears
- Web2py
微型框架
- Flask
- Bottle
- CherryPy
- Falcon
- Hug
- FastAPI
異步框架
- Sanic
- Tornado
其他
- Dash
Django
GitHub stars:47078
Django是高水準(zhǔn)的Python編程語(yǔ)言驅(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)行編碼比使用任何全??蚣苓M(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模板語(yǔ)言
- 實(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)單。
感謝各位的閱讀!關(guān)于python-web開發(fā)框架都有哪些是比較好的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前名稱:python-web開發(fā)框架都有哪些是比較好的-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/cshesc.html