2012-04-26 56 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(但使用更方便的语言)。但我还没有测试过。