web-dev-qa-db-ja.com

配列をGETクエリパラメーターとしてPython

私はphpで$_GET['key1']['key2']は、配列の形式で送信されるGETデータを取得しますが、Pythonで文字列を受け取るだけで配列/リストとして認識されないため、何か可能です。

問題があれば、flask/werkzeugを使用します。

43
Romeo M.

引数名の詳細な解析は、PHP AFAIK。

単純なリストだけが必要な場合は、同じ名前の複数のパラメーターを渡し、request.args.getlist(<paramname>)documentation )を使用します。

それ以外の場合は、クエリ文字列を自分で解析する必要があります。

47
cschorn

request.argsはMultiDictインスタンスです( MultiDictFlask request api )。

request.args[key] ## returns a single value, the first if there are multiple
request.args.getlist(key) ## returns a list

単純なkey:valsを使用してエンコードできるよりも複雑な構造を送信する場合は、jsonエンコードオブジェクトを送信することを検討してください。

また、jQuery再帰パラメーターシリアル化 パターン 、およびそれを逆シリアル化できる jquery-unparam libを見てください。

54
Rob Cowie