RESTful Python WSGI Web框架

时间:2012-04-26 07:27:43

标签: python rest web wsgi web-frameworks

  

可能重复:
  Recommendations of Python REST (web services) framework?

我正在寻找一个RESTful Python(最好是Python 3)Web框架。它应该具有以下内容:

  • 可配置的网址
  • 网址生成
  • 支持文件上传
  • 身份验证(http basic auth,基于cookie)
  • 内容协商
  • 基于WSGI
  • 使用所请求资源不正确支持的HTTP谓词回答请求的能力(例如:如果有人发送PUT但资源仅支持POSTGET,则应用程序应回答允许的方法POSTGET
  • 支持缓存标题
  • 转换/渲染结果

你会推荐什么?

4 个答案:

答案 0 :(得分:2)

pyramid 1.3具有python 3.2支持

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

docs: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

允许将每个请求方法的特定视图写入同一路径,例如

@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}

答案 1 :(得分:2)

你应该看一下这个link,Python REST(Web服务)框架的建议吗? 在这个链接 @martin 为开发自己的rest-api提供了很好的例子。我不知道任何满足您所有需求的RESTful框架,但您可以开发自己的。

您可以查看FlaskBottle。它们是用于Python的快速,简单和轻量级的WSGI微型Web框架...

答案 2 :(得分:0)

听起来你对HTTP有很多经验。你应该看看CherryPy,它更像是一个HTTP框架,而不是一个Web框架。这种观点允许您以其他框架通常试图向您隐藏的方式利用HTTP。 CherryPy可以完成您所要求的所有事情:灵活配置是其卖点之一,它附带了缓存工具,允许标头,身份验证和协商。版本3.2放弃了用于处理上传的限制性cgi模块,现在支持基于媒体类型的上传临时文件,流媒体和自动预处理。

答案 3 :(得分:0)

非阻塞网络服务器和框架Tornado看起来很有希望。它有点像web.py,其中包含一个事件驱动的模型,如JavaScript框架node.js(但使用更方便的语言)。但我还没有测试过它。

相关问题