【问题标题】:RESTful Python WSGI web framework [duplicate]RESTful Python WSGI Web框架[重复]
【发布时间】:2012-05-06 22:10:31
【问题描述】:

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

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

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

你会推荐什么?

【问题讨论】:

    标签: python rest web wsgi web-frameworks


    【解决方案1】:

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

    【讨论】:

    • 金字塔看起来很有前途!
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-18
          • 2011-05-17
          • 1970-01-01
          • 2017-01-12
          • 2011-11-17
          • 2012-01-12
          • 2010-09-10
          • 2013-06-19
          相关资源
          最近更新 更多