在集成测试中,我尝试使用嵌套的JSON参数发出POST请求(这只是我尝试的方法之一):
test_function(admin_client):
admin_client.post(some_url,
json.dumps(some_nested_json),
content_type='application/json',
headers={'Content-type': 'application/json; charset=utf-8'})
我还尝试了各种不同的参数组合等等,这些都是我在网络上可以找到的,但是我无法在收到的request.JSON
中获得正确的JSON输出。
我得到以下三种情况之一:
request.POST
包含第一级JSON以及第二级JSON 键 request.POST
包含第一级JSON和一个空的第二级JSON request.POST
为空,但request.body
包含整个嵌套的JSON(采用预期格式)我在这里想念什么?我正在使用 Python 2.7 。
答案 0 :(得分:1)
这是django中的预期行为。 Json请求不在request.POST
中,而在request.body
中。您需要在视图中手动执行json.loads(request.body)
。