6

過去に質問しましたが、まだ問題に直面しています。address_dict = {'address': {'US': 'サンフランシスコ', 'US': 'ニューヨーク', 'UK': 'ロンドン'}}

上記のパラメータがリクエスト経由で送信された場合、Flask で request.form を使用してアドレス キーの値を取得するにはどうすればよいですか?

import requests
url =  'http://example.com'
params = {"address": {"US": "San Francisco", "UK": "London", "CH": "Shanghai"}}
requests.post(url, data=params) 

次に、flask.request のコンテキストでこれを取得しました。

ImmutableMultiDict([('address', u'US'), ('address', 'US'), ('address', 'UK')])

アドレスの各キーの値を取得するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

13

複雑なネストされたデータ構造を HTML フォームとして送信していますが、期待どおりに動作しません。JSON としてエンコードします。

import json
import requests

url = 'http://example.com/'
payload = {"address": {"US": "San Francisco", "UK": "London", "CH": "Shanghai"}}
data = json.dumps(payload)
headers = {'Content-Type': 'application/json'}
requests.post(url, data=data, headers=headers)

あなたのFlaskアプリでは、request.json(すでにデコードされた)経由でアクセスできます。

于 2012-12-16T10:49:20.603 に答える