我正在寻找一个 RESTful Python(最好是 Python 3)网络框架。它应该有以下几点:
- 可配置的 URL
- 网址生成
- 支持文件上传
- 身份验证(http 基本身份验证,基于 cookie)
- 内容协商
- 基于WSGI
- 使用请求的资源不支持的 HTTP 动词正确回答请求的能力(例如:如果有人发送
PUT
但资源仅支持POST
andGET
,则应用程序应使用允许的方法POST
和回答GET
) - 支持缓存标头
- 转换/渲染结果
你会推荐什么?
我正在寻找一个 RESTful Python(最好是 Python 3)网络框架。它应该有以下几点:
PUT
但资源仅支持POST
and GET
,则应用程序应使用允许的方法POST
和回答GET
)你会推荐什么?
金字塔 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}
听起来您对 HTTP 有一定的经验。你应该看看CherryPy,它更像是一个 HTTP 框架,而不是一个 Web 框架。这种观点允许您以其他框架通常试图对您隐藏的方式来利用 HTTP。CherryPy 可以完成您要求的所有事情:灵活的配置是它的卖点之一,它附带了用于缓存、Allow 标头、身份验证和协商的工具。3.2 版放弃了用于处理上传的限制性 cgi 模块,现在支持上传临时文件、流式传输和基于媒体类型的自动预处理。