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 回答