2012-04-26 79 views
3

可能重複:
Recommendations of Python REST (web services) framework?的RESTful的Python WSGI web框架

我正在尋找一個RESTful的Python(優選的P​​ython 3)Web框架。它應該有以下幾件事:

  • 配置網址
  • URL生成文件上傳
  • 支持
  • 認證(HTTP基本身份驗證,基於Cookie)
  • 內容協商
  • 基於WSGI
  • 正確請求資源不支持HTTP動詞的能力(例如:如果有人發送PUT但資源僅支持POSTGET,應用程序應該與被許可的方法POSTGET)用於緩存頭
  • 支持
  • 變換接聽/渲染結果

你有什麼建議?

回答

2

金字塔1.3有蟒蛇3.2支持

http://www.pylonsproject.org/projects/pyramid/about

文檔:http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/

請求:http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/webob.html#request

視圖配置裝飾:http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/viewconfig.html

給予編寫特定視圖的能力每個請求方法對同一個ro ute例如

@view_config(route_name='wiki', renderer='base.pt', request_method='POST') 
def view(request): 
    return {'a': None} 

@view_config(route_name='wiki', renderer='base.pt', request_method='PUT') 
def view(request): 
    return {'a': None} 
+0

金字塔看起來很有希望! – deamon 2012-04-27 14:03:30

2

你應該看一眼這個link,Python的REST(Web服務)框架的建議? 在這個鏈接@martin爲開發你自己的rest-api提供了一個很好的例子。我不知道任何滿足您所有需求的RESTful框架,但您可以開發自己的框架。

並且您可以檢查FlaskBottle。他們是快速,簡單和輕量級的WSGI微型網絡框架的Python ...

0

這聽起來像你有一個很好的HTTP經驗。你應該檢查出CherryPy,這是一個比框架更多的HTTP框架。該觀點允許您以其他框架通常試圖隱藏的方式利用HTTP。 CherryPy可以完成您所要求的所有功能:靈活的配置是其賣點之一,它附帶緩存工具,允許標題,授權和協商。版本3.2放棄了用於處理上傳的限制性cgi模塊,現在支持上傳臨時文件,流媒體以及基於媒體類型的自動預處理。

0

非阻塞網絡服務器和框架Tornado看起來很有前途。這有點像web.py,它帶有一個事件驅動模型,如JavaScript框架node.js(但使用更方便的語言)。但我還沒有測試過。