推薦值得學習的12款python-web開發框架
最近JETBRAINS發布了目前最受歡迎的python-web開發框架,可以看到最受歡迎的還是Django和Flask,那么本文就對上榜的12個框架進行分類整理,一起來看看吧!
全棧框架
Django Pyramid TurboGears Web2py微型框架
Flask Bottle CherryPy Falcon Hug FastAPI異步框架
Sanic Tornado其他
DashDjango
GitHub stars:47078
Django是高水準的Python編程語言驅動的一個開源模型.視圖,控制器風格的Web應用程序框架,它起源于開源社區。使用這種架構,程序員可以方便、快捷地創建高品質、易維護、數據庫驅動的應用程序。另外,在Django框架中,還包含許多功能強大的第三方插件,使得Django具有較強的可擴展性。那么Django憑什么能獨占鰲頭呢:
完善的ORM關系映射 強大的路由映射功能 完善的視圖模板的實現 健全的后臺管理系統 強大的緩存支持GitHub https://github.com/django
Pyramid
GitHub stars:3216
Pyramid是一個基于Python的開放源代碼,也是第二個值得注意的Web應用程序框架。其目標是以最小的復雜度來盡可能多地完成更多任務。Pyramid 1.10是框架的當前版本,并且是自2010年以來的第十次更新。那么Pyramid有以下特點:
單個文件的應用程序 通用的URL 可擴展的配置 各種各樣的模板 靈活的身份驗證和授權 測試、支持和全面的數據文檔TurboGears
GitHub stars:654
TurboGears是一個開源的,數據驅動的全棧Web應用程序框架。它建立在許多中間件和許多庫的基礎上,因此可以快速開發可擴展的數據驅動的Web應用程序。它擁有友好的模板引擎以及一個強大而靈活的ORM和可重復使用的代碼片段。除了使設計師的工作更輕松的出色模板系統外,TurboGears還提供了很多靈活性,強大的聚合支持,TurboGears的一些獨特功能包括:
多數據庫支持 MVC風格的架構 支持SQLObject和SQLAlchemy 使用FormEncode進行驗證 基于WSGI的前端服務器 命令行工具 MochiKit JavaScript庫集成Web2py
GitHub stars:1798
Web2py是可擴展的開源全棧Python框架。在處理數據時,它非常強大。Web2py最初是作為教學工具提供的,重點是易用性。Web2py的優點是它帶有自己的基于Web的IDE,其中包括代碼編輯器,調試器和一鍵式部署。Web2py的其他重要功能包括:
無需安裝和配置 能夠在Windows,Mac,Linux / Unix,Google App Engine,Amazon EC2以及任何支持Python 2.5?2.7或Java + Python的網絡托管上運行 多種協議的可讀性 數據安全性可防止跨站點腳本編寫,注入漏洞和惡意文件執行等漏洞 成功采用軟件工程實踐,使代碼易于閱讀和維護Flask
GitHub stars:49380
Flask是一個輕量級的可定制框架,較其他同類型框架更為靈活、輕便、安全且容易上手。它可以很好地結合MVC模式進行開發,開發人員分工合作,小型團隊在短時間內就可以完成功能豐富的中小型網站或Web服務的實現。其強大的插件庫可以讓用戶實現個性化的網站定制,開發出功能強大的網站。它包括許多有用的現成功能:
內置開發服務器和快速調試器 集成的單元測試支持 安全cookie支持 符合WSGI 1.0 基于Unicode 能夠插入任何ORMBottle
GitHub stars:6349
Bottle是一個微框架。Bottle最初意在構建API,它在單個源文件中實現所有功能。除了Python標準庫外,它沒有依賴項。使用Bottle進行編碼比使用任何全棧框架進行編碼更穩定。但是,只有編寫一個很小的應用程序(最多500行代碼且無特殊要求)時,Bottle才是較好的選擇。它的默認功能包括路由,模板,實用程序以及基于WSGI標準的基本抽象。
路由 :支持對函數調用映射的請求 模板 :一個現成的快速Pythonic 模板引擎,并全面支持mako和inja2 實用程序 :輕松訪問表單數據,文件上傳,Cookie 服務器 :一個內置的HTTP服務器的發展,支持fapws3CherryPy
GitHub stars:1057
CherryPy是一個開放源代碼的簡約Web框架。它使構建Python Web應用程序與構建任何其他面向對象的程序沒有什么不同。但基于CherryPy的Web應用程序是一個獨立的Python應用程序,它嵌入了自己的多線程Web服務器。借助自己的Web服務器,擴展點包括請求-響應周期之外的功能,從而增加了CherryPy的可擴展性。CherryPy的一些默認功能包括:
強大的配置系統 靈活的插件系統 現成的緩存,編碼,會話,認證,靜態內容等工具 內置對性能分析,覆蓋率和測試的支持 能夠在Python 2.7 +,Python 3.1 +,PyPy,Jython和Android上運行Falcon
GitHub stars:7500
Falcon是一個Python Web API框架,用于構建非常快速的應用程序后端。該框架的徽標是獵鷹,象征著獵鷹的工作速度。該框架允許開發人員制定更簡潔的設計并處理大多數請求。Falcon未限制開發人員選擇數據庫和授權庫。Falcon其他的功能有:
全面的測試套件可實現100%的代碼覆蓋率 高度優化的代碼庫 前期異常處理 通過中間件組件處理DRY請求 通用的HTTP錯誤響應 通過WSGI幫助器進行單元測試Hug
GitHub stars:5955
Hug是一個Python 3 API開發框架。它的設計使軟件工程師可以一次開發API,然后在需要時再使用它。Hug框架通過提供各種接口來簡化API開發。這就是為什么該框架被稱為Python 3中最快的框架之一的主要原因。hug的主要特點:
支持自動文檔 注釋驅動的驗證 內置版本管理 遵守cython 可以當作python庫使用FastAPI
GitHub stars:10900
FastAPI是基于Python的現代框架。它最初被設計為易于使用,以確保最佳的開發體驗。迄今為止,FastAPI是使用Python 3.6+構建API最快的框架之一。該框架具有Flask的幾個特征,包括其簡單性。整個框架基于Starlette構建,并包含其大部分功能(模板,WebSocket和GraphQL支持)。FastAPI框架提供:
開發速度提高200%至300% 減少40%的錯誤 調試時間更少 減少代碼重復 自動交互式文檔Sanic
GitHub stars:13511
Sanic是一個基于uvloop的Python Web框架,專門針對通過異步請求處理的快速HTTP響應而創建。它可以在Python 3.5+上運行。Sanic支持異步請求處理程序,這使其與Python 3.5的async / await函數兼容。這提高了速度,提供了非阻塞功能。由于Sonic具有路由,中間件,cookie,版本控制,靜態文件,藍圖,基于類的視圖和套接字,因此被認為是首選的異步框架。但是,它不提供數據庫支持和模板。
Tornado
GitHub stars:18293
Tornado是一個Python web框架和異步網絡庫,側重于速度和處理大量流量的能力。它使用非阻塞網絡I/O,解決了C10k問題(這意味著,如果正確配置,它可以處理10,000多個并發連接)。這使得它成為構建需要高性能和成千上萬并發用戶的應用程序的好工具。
內置對用戶身份驗證的支持 實時服務 高品質的表現 基于Python的Web模板語言 實施第三方身份驗證和授權方案(Google OpenID / OAuth,Facebook登錄,Yahoo BBAuth,FriendFeed OpenID / OAuth,Twitter OAuth)Dash
GitHub stars:11000
Dash是一個用于構建分析性web應用程序的開源Python框架。對于不太熟悉web開發的Python數據科學家來說,這尤其有用。Dash有兩個特點:
僅使用Python代碼構建高度交互的應用程序。 使用Python工具來操作數據變得非常簡單。以上就是推薦值得學習的12款python-web開發框架的詳細內容,更多關于Python web開發框架的資料請關注好吧啦網其它相關文章!
相關文章: