有没有办法在django测试客户端发布字典列表?

时间:2016-10-18 07:07:20

标签: django python-2.7

由于Django Test Client仅接受data = {}作为输入,因此我无法将dict列表传递给它,即data = [{},{},{}]。对此有何解决方案?

3 个答案:

答案 0 :(得分:6)

这有效:

response = client.post(url, json.dumps(data), content_type='application/json')

答案 1 :(得分:1)

您可以将值作为dict中的列表传递:

data={"key": [{"key":"value"}, {"key":"value"}]}

或者,您可以使用MultiValueDict作为值。

您也可以作为列表传递

import requests
data = [{"key":"value"}, {"key":"value"}]
a = requests.post('http://url', data)

答案 2 :(得分:0)

上述解决方案都没有帮助我,客户总是在转储此字典列表时遇到问题,但我推荐这里提出的解决方案:

https://stackoverflow.com/a/39155038/16062106

在您的情况下,它将类似于:

response = client.generic("GET", URL, data=json.dumps(data), content_type="application/json",)