热门问题
时间线
聊天
视角

CherryPy

来自维基百科,自由的百科全书

Remove ads

CherryPy是一個物件導向web應用框架,使用了Python程式語言。它設計用於web應用快速開發,通過包裹HTTP協定,但停留在低層而不提供超出RFC 7231所定義的東西。

快速預覽 開發者, 首次發布 ...

CherryPy自身可以是個web伺服器,也可以通過任何WSGI相容環境來啟動它。它不處置用於輸出呈現的模板或後端訪問的任務。這個框架可以採用過濾器來擴充,它被呼叫於請求/回應處理的確定點上。

Python化介面

這個專案創立者Remi Delon英語Remi Delon的目標之一,是使得CherryPy儘可能的體現Python原則。這允許開發者將這個框架同任何正規Python模組一樣的使用,而忘記(從技術的角度)這個應用是用於web。

例如,常見的Hello World程式用CherryPy 3將寫為如下:

import cherrypy

class HelloWorld:
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

特徵

CherryPy實現了:

  • 遵循HTTP/1.1、WSGI執行緒池的webserver[4]。典型的,CherryPy自身每頁只用1–2ms[5][6]
  • 支援任何任何其他啟用WSGI的web伺服器或配接器,包括ApacheIISlighttpdmod_python英語mod_pythonFastCGISCGImod_wsgi英語mod_wsgi
  • 一個原生的mod_python英語mod_python配接器。
  • 多個HTTP伺服器(就是有能力監聽多個埠)[7]
  • 一個外掛程式系統[8],CherryPy外掛程式掛鉤到在伺服器行程內的事件,伺服器啟動、伺服器關閉、伺服器退出等,用來執行在伺服器啟動和關閉時需要執行的代碼。
  • 內建工具用於快取編碼對談授權、靜態內容和其他。CherryPy工具掛鉤到在請求處理內的事件。在CherryPy伺服器收到一個請求的時候,它有一組特定的步驟要履行來處理這個請求。頁面處理器只是這個處理的步驟之一。工具還提供語法和組態API來為特定集合的處理器而打開和關閉它們。
  • 給開發者和部署者的一個組態系統[9][10][11]。CherryPy部署可組態於站點上、應用上和在控制器層面上,通過Python字典、設定檔和打開檔案對象。
  • 一個完全的測試套件用於核心功能和有關框架,可以用來測試CherryPy應用[12]
  • 內建剖析自從v2.1[13]覆蓋[14]和測試支援。

CherryPy不強制使用特定對象關係對映器(ORM)、模板語言英語Web template systemJavaScript庫

Remove ads

可用於CherryPy的模組

  • Routes,一個Ruby on Rails的路由系統的Python重新實現,用於對映URL到控制器/行動和生成URL[15]

對象關係對映器

模板語言

參見

參照

Loading content...

外部連結

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads