残念ながら、同じ名前の複数のパラメーターを提供する URL を処理するために、既存の Pylons アプリケーションを変更する必要がある状況に陥っています。次のようなもの... domain:port/action?c=1&v=3&c=4
通常、パラメータはこの方法でアクセスされます...
from pylons import request
c = request.params.get("c")
#or
c = request.params["c"]
どちらの場合も値として「4」が返されます。これは、これらの状況では最後の値以外をすべて無視するのが標準的な動作のように思われるためです。私が本当に必要としているのは、両方にアクセスできることです。request.params を印刷してみましたが、このようなものが得られました...
NestedMultiDict([(u'c', u'1'),(u'v', u'3'),(u'c', u'4')])
それにインデックスを付ける方法、またはcの最初の値にアクセスする方法が見つかりませんでした。
この問題に関連する同様の質問を見つけましたが、PHP で解決しました:
これらの線に沿ったものは私にとってはうまくいくでしょうが、Pylons に適合する Python コードかもしれません。誰かが以前にこのようなことを扱ったことがありますか?