使用我的浏览器发布表单时,来自views侧的发布请求看起来像这样
不可
POST <QueryDict: {u'form_data': [u'{"kkz":"ALF" ....]}>
使用像这样的测试客户端
data = { 'form_data': {
"kkz": "ALF",
..
}
}
....
c = Client()
response = c.post('/wizard/....',
data=json.dumps(data),
content_type="application/x-www-form-urlencoded")
我得到了这个 坏:
POST <QueryDict: {u'{"form_data": {"kkz": "ALF" ...}>
视图无法处理。 我哪里错了?
更新 这是javascript部分
$.ajax({
type: 'post',
url: '/wizard/....',
data: {
form_data: JSON.stringify(form.get_data(), {})
},
其中form.het数据返回[key:value,key:value]
的数组解决方案:谢谢大家!
form_data = {
"kkz": "ALF",
...
}
c = Client()
response = c.post('/wizard/...',
{'form_data': json.dumps(form_data)}
)
答案 0 :(得分:0)
你应该已经展示了#34;你的浏览器&#34;正在创建此帖子数据。
据推测,您正在使用一些看起来像这样的Javascript:
$.post(url, { form_data: JSON.stringify(data) }, ...)
你需要遵循相同的结构,使用包含&#34; form_data&#34;的字典。键。
data = {
"kkz": "ALF",
..
}
....
response = c.post('/wizard/....',
data={'form_data': json.dumps(data)},
content_type="application/x-www-form-urlencoded")