I'm experiencing a really bizarre behavior when using the test client in django.
I'm using a POST to send data to my django app. I usually do this from an iPhone app and/or a test html form. On the server side, this is how I handle it: def handle_query(request): print request q = con.QueryLog() q.ID = request.POST.get('ID', '') q.device = request.POST.get('device-model', '') .... That print statement looks like what you would expect, i.e. each parameter in the post request is turned into a key in the dictionary: POST:<QueryDict: {u'app-version': [u'3.0'], u'server-version': [u'v3d0'], However, I started writing some tests using django's test client, and no matter what I try, the dictionary of POST parameters I send in the post request get bunched into a single key in the QueryDict. Allow me to illustrate with some code: class SearchTest(TestCase): def setUp(self): pass def test_search(self): request = HttpRequest() data = '{"amzn_locale":"com"}' # request._raw_post_data = data resp = self.client.post('/is/', data=data, content_type='application/x-www-form- urlencoded', # content_type='application/json', ) The same print statement on the server side shows the inexplicable grouping of the dictionary into a string: POST:<QueryDict: {u'{"amzn_locale":"com"}': [u'']}>, If I set data to an actual dictionary, same thing data = '{"amzn_locale":"com"}' Setting the request._raw_post_data doesn't change anything. Nor does changing content_type='application/json' Any help would be much appreciated. From this stackoverflow question it seems like I'm not the first one to run into this http://stackoverflow.com/questions/2579235/iphone-json-post-request-to-django-server-creates-querydict-within-querydict -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.