장고의 test client을 사용하면 POST
요청을 수행하고 요청 데이터를 dict
으로 지정할 수 있습니다.데이터 키의 값이 여러 개인 장고 테스트 클라이언트
그러나 <select multiple>
또는 <input type="checkbox">
필드를 모방 한 데이터를 보내려면 데이터 dict
의 단일 키에 대해 여러 값을 보내야합니다.
어떻게하면됩니까?
장고의 test client을 사용하면 POST
요청을 수행하고 요청 데이터를 dict
으로 지정할 수 있습니다.데이터 키의 값이 여러 개인 장고 테스트 클라이언트
그러나 <select multiple>
또는 <input type="checkbox">
필드를 모방 한 데이터를 보내려면 데이터 dict
의 단일 키에 대해 여러 값을 보내야합니다.
어떻게하면됩니까?
가장 간단한 방법은 dict
에 list
또는 tuple
A와 값을 지정하는 것입니다
client.post('/foo', data={"key": ["value1", "value2"]})
은 또한 당신이 값으로 MultiValueDict
를 사용할 수 있습니다.
이 문제가 발생했습니다. 불행히도, 당신의 대답은 나를 위해 작동하지 않았다. FormView
에 내가 포함하고있는 값 중 하나만 빼면 모든 값이 아닌 하나의 값만 꺼내집니다.
또한 수동으로 쿼리 문자열을 작성하고 게시 할 수 있어야합니다
some_str = 'key=value1&key=value2&test=test&key=value3'
client.post('/foo/', some_str, content_type='application/x-www-form-urlencoded')
from django.core.urlresolvers import reverse
from django.utils.datastructures import MultiValueDict
from django.utils.http import urlencode
form_data = {'username': 'user name',
'address': 'street',
'allowed_hosts': ["host1", "host2"]
}
response = client.post(reverse('new_user'),
urlencode(MultiValueDict(form_data), doseq=True),
content_type='application/x-www-form-urlencoded')
콘텐츠 형식
x-www-form-urlencoded
를 사용하여 무엇 장고 양식 필드 앞에'list' 또는 client.post를 통해 전송되는 값의'tuple'을 확인/청소 사용되어야 하는가? – Medorator