2012-07-20 5 views

答えて

13

最も簡単な方法は、dictlistまたはtupleなどの値を指定するには、次のとおりです。

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

代わりにあなたが値としてMultiValueDictを使用することができます。

+0

コンテンツタイプx-www-form-urlencodedを使用すると、どのようなDjangoのフォームフィールド 'list'か、client.postを経由して送信されている値の' tuple'を検証/きれいに使用すべきですか? – Medorator

3

この問題が発生しました。残念ながら、あなたの答えは私のために働いていませんでした。FormView私はそれに含まれている値のうちの1つを取り出すだけで、値のすべてを取り出すことはありませんでした。

あなたは手動でクエリ文字列を構築し、

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') 
関連する問題