使用基于方法的端点的Werkzeug URL映射仅返回Method Not Allowed

时间:2012-08-30 17:40:53

标签: python methods werkzeug url-mapping http-status-code-405

以下是我们的映射的截断版本:

url_map = Map([
    Rule('/actions/<int:id>/', endpoint='actions.get_action', methods=('GET')),
    Rule('/actions/<int:id>/', endpoint='actions.put_action', methods=('PUT')),
    Rule('/actions/<int:id>/', endpoint='actions.dismiss_action', methods=('DELETE'))
])

经过多次搜索,我发现了一些人在(http://nullege.com/codes/search/werkzeug.routing.Rule)做同样事情的例子......但是当我这样做时,所有三种方法都不允许返回。我有可能做到

... methods=('GET', 'PUT', 'DELETE') ...

并且有一个端点将请求分派给备用函数,但是根据我的阅读,我的映射应该正常工作,或者至少,如果我知道正确的语法(我已经知道了),那么COULD就可以正常工作在上面的链接之外找不到。)

关于我做错了什么的想法?

1 个答案:

答案 0 :(得分:3)

在你的规则列表中,方法参数不应该是列表吗?像

这样的东西
... methods=('GET',) ...

请注意使其成为元组的逗号。