Pylons計劃是開發一組用Python書寫的web應用技術的開源組織。最初這個計劃只是一個叫做Pylons的單一的web框架,但是後來合併了repoze.bfg框架,並取了新名字Pyramid,Pylons計劃現在由多個有關的web應用技術組成。

Quick Facts 網站類型, 語言 ...
Pylons計劃
Thumb
網站類型
Python框架開發
語言English
持有者開源
編輯匿名
網址pylonsproject.org 編輯維基數據鏈接
商業性質No
註冊None
推出時間2010年12月27日 (2010-12-27)
現狀活躍
Close

Pyramid

Quick Facts 開發者, 首次發佈 ...
Pyramid
Thumb
開發者Chris McDonough, Ben Bangert, Michael Merickel, Bert JW Regeer, Steve Piercy
首次發佈2008年7月8日,​16年前​(2008-07-08[1]
當前版本2.0.2[2]在維基數據編輯(2023年8月25日,14個月前)
原始碼庫www.github.com/Pylons/pyramid
程式語言Python
作業系統跨平台
類型Web應用框架
許可協議BSD License
網站trypyramid.com
Close

Pyramid是用Python書寫的開源web應用框架,它基於了WSGI。它是受到ZopePylonsDjango啟發的極簡主義的web框架[3]

Pyramid最初叫做「repoze.bfg」,它獲得關注主要在於Zope[4]Plone社區,隨着開放社會基金會的KARL計劃從Plone遷移至BFG[5]。在2010年宣佈了Pylons框架將於版本1.5轉移到使用BFG作為基礎[6]。作為將BFG包括入Pylons計劃的結果,BFG被重命名為Pyramid[7]

特徵

Pyramid是極簡主義的跨平台web框架。它不預定持久化方式,可以通過SQLAlchemy集成於SQL數據庫或集成於Zope對象數據庫英語Zope Object Database二者,還有其他NoSQL數據庫比如CouchDB[3]

Pyramid允許開發者使用正則表達式定義映射到對象的路由。同樣跟從框架Zope,Pyramid允許層級對象遍歷,這裏URL的每個部份都是包含其他對象的對象,這種方式類似於文件系統中的文件夾[8]

例子代碼

from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response

def hello_world(request):
    return Response('Hello World!')

if __name__ == '__main__':
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', 6543, app)
    server.serve_forever()

Pylons框架

Quick Facts 開發者, 首次發佈 ...
Pylons框架
開發者Ben Bangert, James Gardner
首次發佈2005年9月,​19年前​(2005-09[9]
當前版本1.0.2[10]在維基數據編輯(2015年7月22日,9年前)
程式語言Python
作業系統跨平台
類型Web應用框架
許可協議BSD license
網站pylonsproject.org/about-pylons-framework.html
Close

Pylons是一個開放原始碼Web應用框架,使用Python語言編寫。它對WSGI標準進行了擴展應用,提升了重用性且將功能分割到獨立的模塊中。

Pylons類似於DjangoTurboGears。Pylons受Ruby on Rails影響很深:它的兩個組件,Routes[11]和WebHelpers[12]是Rails特性的Python實現。

安裝和依賴

Pylons的官方安裝方法是從Python CheeseShop[13]下載使用EasyInstall[14]完成,而大部分的附加工具也通常以相同方式安裝。

URL分派

Pylons普遍使用的URL分派器是Routes[11],實際是Ruby on Rails的URL分派的Python重新實現,其他的URL分派器只要是WSGI兼容也可以使用,例如Selector[15]

HTML生成

另一個從Rails Pylons化的部分是WebHelpers[16],它提供了基於路徑的URL映射。WebHelpers也提供了一些實用的功能來生成基於script.aculo.us英語script.aculo.usPrototype庫的JavaScript代碼。

模板

Myghty是缺省的Pylons模板語言,但在版本0.9.6它被替代為Mako[17]。也可以使用其他模板語比如Genshi英語Genshi (templating language)[18]

數據庫抽象和對象關係映射

Pylons沒有默認的數據庫程序庫。可以使用比較有名的SQLObjectSQLAlchemy

另見

參考

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.