Python 是一門動態、面嚮對象語言。其最初就是做爲一門面向對象語言設計的,而且在後期又加入了一些更高級的特性。除了語言自己的設計目的以外,Python標準 庫也是值得你們稱讚的,Python甚至還自帶服務器。其它方面,Python擁有足夠多的免費數據函數庫、免費的Web網頁模板系統、還有與Web服務 器進行交互的庫、這些均可以設計到你的Web應用程序裏面。在這篇文章裏,咱們將爲Python Web開發者介紹基於Python的10大Web應用框架。php
CubicWeb的最重要的支柱就是代碼的可重用性。CubicWeb宣揚本身不只是一個Web開發框架,並且仍是一款語義Web開發框架。CubicWeb使用關係查詢語言(RQL Relation Query Language)與數據庫之間進行通訊。html
Zope 2是一款基於Python的Web應用框架,是全部Python Web應用程序、工具的鼻祖,是Python家族一個強有力的分支。Zope 2的「對象發佈」系統很是適合面向對象開發方法,而且能夠減輕開發者的學習曲線,還能夠幫助你發現應用程序裏一些很差的功能。python
Web2py是一個用Python語言編寫的免費的開源Web框架,旨在敏捷快速的開發Web應用,具備快速、可擴展、安全以及可移植的數據庫驅動的應用,遵循LGPLv3開源協議。web
Web2py提供一站式的解決方案,整個開發過程均可以在瀏覽器上進行,提供了Web版的在線開發,HTML模版編寫,靜態文件的上傳,數據庫的編寫的功能。其它的還有日誌功能,以及一個自動化的admin接口。數據庫
它是另一個基於 Python 的 MVC 風格的 Web 應用程序框架。flask
TurboGears 開發人員稱這個項目是一個 「大框架(megaframework)」,這是由於它是由現有的子項目構成的。TurboGears 能夠幫助將不少主要組件集成在一塊兒:後端
Pylons是一個開放源代碼的Web應用框架,使用python語言編寫。它對WSGI標準進行了擴展應用,提高了重用性且將功能分割到獨立的模塊中。瀏覽器
Pylons是最新的Web應用框架中的典型,相似於Django和TurboGears。Pylons受Ruby on Rails影響很深:它的兩個組件,Routes和WebHelpers是Rails特性的Python實現。安全
Grok 是一個爲 Python 開發者提供的Web應用開發框架,Grok 的重點是敏捷開發,是一個易用並且功能強大的開發框架,基於 Zope 3 技術。服務器
Web.py是一個輕量級的開源Python Web框架,小巧靈活、簡單而且很是強大,在使用時沒有任何限制。目前Web.py被普遍運用在許多大型網站,如西班牙的社交網站Frinki、主頁日平均訪問量達7000萬次的Yandex等。
Pyramid也是一款輕量級的開源Python Web框架,是Pylons項目的一部分。Pyramid只能運行在Python 2.x或2.4之後的版本上。在使用後端數據庫時無需聲明,在開發時也不會強制使用一些特定的模板系統。
CherryPy是一個基於Python的Web使用程序開發框架,它極大地簡化了運用 Python 的web開發人員的工做。它爲Python開發人員提供了友好的HTTP協議接口。你們知道,HTTP但是萬維網的支柱協議,而CherryPy將HTTP協議簡化成Python API來供Python 開發人員使用,這極大地簡化了Web開發人員對HTTP協議的操做。CherryPy自身內置了一個HTTP服務器,或者稱爲Web服務器。這樣,對於CherryPy的用戶來講,不用另外搭設Web服務器就能直接運行 CherryPy應用程序了。實際上,Web服務器是到達CherryPy應用程序的關口,是全部的HTTP請求和響應的必經之地。所以,能夠這樣理解 CherryPy內建的Web服務器:它是位於處理客戶端與服務器端之間的一層軟件,用於把底層TCP套按字傳輸的信息轉換成Http請求,並傳遞給相應 的處理程序;同時,還把上層軟件傳來的信息打包成Http響應,並向下傳遞給底層的TCP套按字。
Flask是一個輕量級的Web應用框架, 使用Python編寫。基於 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 受權。
Flask也被稱爲 「microframework」 ,由於它使用簡單的核心,用 extension 增長其餘功能。Flask沒有默認使用的數據庫、窗體驗證工具。然而,Flask保留了擴增的彈性,能夠用Flask-extension加入這些功 能:ORM、窗體驗證工具、文件上傳、各類開放式身份驗證技術。