我过去曾问过问题,但仍面临问题。 address_dict = {'地址':{'美国':'旧金山','美国':'纽约','英国':'伦敦'}}
当通过请求发送上述参数时,如何使用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')])
如何获取每个地址键的值?
感谢。
答案 0 :(得分: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 app中,可以通过request.json
访问(已经解码)。