標籤:
Python 是一門動態、物件導向語言。其最初就是作為一門物件導向語言設計的,並且在後期又加入了一些更進階的特性。除了語言本身的設計目的之外,Python標準 庫也是值得大家稱讚的,Python甚至還內建伺服器。其它方面,Python擁有足夠多的免費資料函數庫、免費的Web網頁模板系統、還有與Web服務 器進行互動的庫、這些都可以設計到你的Web應用程式裡面。在這篇文章裡,我們將為Python Web開發人員介紹基於Python的10大Web應用程式框架。
CubicWeb
CubicWeb的最重要的支柱就是代碼的可重用性。CubicWeb宣揚自己不僅是一個Web開發架構,而且還是一款語義Web開發架構。CubicWeb使用關係查詢語言(RQL Relation Query Language)與資料庫之間進行通訊。
Zope2
Zope 2是一款基於Python的Web應用程式框架,是所有Python Web應用程式、工具的鼻祖,是Python家族一個強有力的分支。Zope 2的“對象發布”系統非常適合物件導向開發方法,並且可以減輕開發人員的學習曲線,還可以協助你發現應用程式裡一些不好的功能。
Web2py
Web2py是一個用Python語言編寫的免費的開源Web架構,旨在敏捷快速的開發Web應用,具有快速、可擴充、安全以及可移植的資料庫驅動的應用,遵循LGPLv3開源協議。
Web2py提供一站式的解決方案,整個開發過程都可以在瀏覽器上進行,提供了Web版的線上開發,HTML模版編寫,靜態檔案的上傳,資料庫的編寫的功能。其它的還有日誌功能,以及一個自動化的admin介面。
TurboGears
它是另外一個基於 Python 的 MVC 風格的 Web 應用程式架構。
TurboGears 開發人員稱這個項目是一個 “大架構(megaframework)”,這是因為它是由現有的子項目構成的。TurboGears 可以協助將很多主要組件整合在一起:
- MochiKit:JavaScript 庫
- Kid:範本語言
- CherryPy:基本 Web 架構
- SQLObject:對象關係映射器(ORM)
Pylons
Pylons是一個開放原始碼的Web應用程式框架,使用python語言編寫。它對WSGI標準進行了擴充應用,提升了重用性且將功能分割到獨立的模組中。
Pylons是最新的Web應用程式框架中的典型,類似於Django和TurboGears。Pylons受Ruby on Rails影響很深:它的兩個組件,Routes和WebHelpers是Rails特性的Python實現。
Grok
Grok 是一個為 Python 開發人員提供的Web應用開發架構,Grok 的重點是敏捷開發,是一個易用而且功能強大的開發架構,基於 Zope 3 技術。
Web.py
Web.py是一個輕量級的開源Python Web架構,小巧靈活、簡單並且非常強大,在使用時沒有任何限制。目前Web.py被廣泛運用在許多大型網站,如西班牙的社交網站Frinki、首頁日平均訪問量達7000萬次的Yandex等。
Pyramid
Pyramid也是一款輕量級的開源Python Web架構,是Pylons項目的一部分。Pyramid只能運行在Python 2.x或2.4以後的版本上。在使用後端資料庫時無需聲明,在開發時也不會強制使用一些特定的模板系統。
CherryPy
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
Flask是一個輕量級的Web應用程式框架, 使用Python編寫。基於 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授權。
Flask也被稱為 “microframework” ,因為它使用簡單的核心,用 extension 增加其他功能。Flask沒有預設使用的資料庫、表單驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension加入這些功 能:ORM、表單驗證工具、檔案上傳、各種開放式身分識別驗證技術。
10個用於Web開發的最好 Python 架構
10個用於Web開發的最好 Python 架構