2012-07-20 12 views

Odpowiedz

13

Najprostszym sposobem jest określenie wartości jako list lub tuple w dict:

client.post('/foo', data={"key": ["value1", "value2"]}) 

Alternatywnie można użyć MultiValueDict jako wartość.

+0

Co Django pola formularza powinna być używana do czyszczenia/sprawdzania poprawności 'list' lub' tuple' wartości, które wysyłanych przez client.post? – Medorator

3

Właśnie wpadł na ten problem! Niestety, twoja odpowiedź nie zadziałała, w FormView pisałem do niej tylko wyciągnęłabym jedną z wartości zawartych, nie wszystkie wartości

Powinieneś również być w stanie zbudować ręcznie zapytanie i opublikować stosując typ zawartości 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') 
0
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') 
Powiązane problemy