0

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')])

私は途方に暮れています。

4

1 に答える 1

2

これは、設定しているためですreq.method。おそらくリクエストname=some_name本文req.method == 'POST'にあり、そのパラメーターが返される限り。メソッドを PUT に変更した時点で、WebOb がリクエスト本文を解析できなくなります (リクエスト本文は、HTML フォーム入力ではなく、エンティティであると想定されます)。これは attribute を取得するときに計算されるreq.str_paramsため、params への参照を保存することで req.method チェックを回避できます。

于 2011-08-03T21:54:53.323 に答える