django.utils.datastructures.MultiValueDictKeyError: "'user_data'"
尝试从request.POST
访问user_data时得到的结果post_data = dict(request.POST)
print(post_items)
返回
{'user_data[first_name]': ['Jamie'], 'user_data[name_last]': ['Lannister'], 'campus': ['McHale Hall'], 'user_data[twitter]': ['@jamielan']}
因此,如果我尝试获取user_data,我会尝试这个(不会工作)
post_data = dict(request.POST)
user_data = post_data['user_data']
我只想在此dict中获取user_data的所有实例并将其存储为json。我怎么能这样做?
预期输出会像
答案 0 :(得分:1)
您的POST
数据真的很奇怪,但为了正确起见,您应该这样做:
first_name = post_data["user_data[first_name]"]
name_last = post_data["user_data[name_last]"]
因为字符串user_data[first_name]
是dict的键,而不仅仅是字符串user_data
。
修改强>
如果您想将用户数据转换为dict,则应循环request.POST
并检查包含user_data
关键字的密钥:
user_data = {}
for key, value in request.POST.iteritems():
if 'user_data' in key:
field = key.split('[')[1].replace(']', '')
user_data[key] = value
# convert into json
json_user_data = json.dumps(user_data)