当我引用WebOb请求的params参数时,一个元素突然从末尾弹出。或者它被简化成一个单一的元素。被引用的元素不是被删除的元素。
if req.str_params.has_key('method'):
req.method = req.str_params.getone('method')在此行日志记录出现之前:
DEBUG:root:NestedMultiDict([('method', 'put'), ('name', 'some_name')])之后:
DEBUG:root:NestedMultiDict([('method', 'put')])我不知所措。
发布于 2011-08-04 05:54:53
这是因为您正在设置req.method。可能name=some_name在请求的主体中,只要使用req.method == 'POST',您就会得到该参数。当您将方法更改为PUT时,就会阻止WebOb解析请求体(请求体应该是实体,而不是HTML form输入)。这是在获取属性req.str_params时计算的,因此通过保存对参数的引用,可以避免req.method检查。
https://stackoverflow.com/questions/6104126
复制相似问题