Django的测试客户端允许您执行POST
请求并将请求数据指定为dict
.
但是,如果我想发送模仿<select multiple>
或<input type="checkbox">
字段的数据,我需要为数据中的单个密钥发送多个值dict
.
我该怎么做呢?
bra*_*ers 18
最简单的方法是将值指定为a list
或tuple
in dict
:
client.post('/foo', data={"key": ["value1", "value2"]})
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用a MultiValueDict
作为值.
刚刚遇到这个问题!不幸的是,你的回答对我不起作用,FormView
我发布的内容中,它只会提取其中包含的值之一,而不是所有值
您还应该能够手动构建查询字符串并使用内容类型发布它x-www-form-urlencoded
some_str = 'key=value1&key=value2&test=test&key=value3'
client.post('/foo/', some_str, content_type='application/x-www-form-urlencoded')
Run Code Online (Sandbox Code Playgroud)