3

可能重复:
Python REST(Web 服务)框架的建议?

我正在寻找一个 RESTful Python(最好是 Python 3)网络框架。它应该有以下几点:

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

你会推荐什么?

4

4 回答 4

2

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

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

于 2012-04-26T08:09:36.870 回答
2

金字塔 1.3 支持 python 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

能够将每个请求方法的特定视图写入相同的路由,例如

@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}
于 2012-04-26T08:03:14.147 回答
0

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

于 2012-04-26T14:28:15.567 回答
0

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

于 2012-07-25T07:52:58.427 回答