python - 有没有办法获取通过 werkzeug(flask) 请求发送的 Immutabledict 中嵌套字典的值?

标签 python request flask python-requests werkzeug

我过去问过问题,但仍然面临问题。 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')])

如何获取地址中每个键的值?

谢谢。

最佳答案

您以 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(已解码)访问它。

关于python - 有没有办法获取通过 werkzeug(flask) 请求发送的 Immutabledict 中嵌套字典的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899635/

相关文章:

python - 如何在 Python 的多索引数据框中导入多个 Excel 工作表?

python - Django 表单 FileField 无法通过验证

Python Pandas 更新数据框列类型

javascript - Express/node.js 发送后无法设置 header

python - Flask session 变量在请求之间不持久

python - 托管在 S3 上的 Flask static_folder

python - 在 Flask 中渲染(许多)模板

python - 使用 CSV 文件读写 NumPy 数组字典

node.js - 如何使用 node.js 请求模块设置内容长度

curl - 如何使用 cURL 执行多个同时请求?