如何从request.GET中检索字典列表?

时间:2013-01-28 03:03:39

标签: python django dictionary httprequest http-get

如果我提出这样的请求:

$.ajax({
  url: '/some/url/',
  data: {
    normal_list: [1,2,3],
    dict_list: [{foo:'a'}, {bar:'b'}]
  }
})

...然后我似乎无法使用dict_listrequest.GET中获取getlist。这是我在设置断点时看到的内容:

ipdb> request.GET
<QueryDict: {u'dict_list[1][bar]': [u'b'], u'normal_list[]': [u'1', u'2', u'3'], u'dict_list[0][foo]': [u'a']}>
ipdb> request.GET.getlist('normal_list[]')
[u'1', u'2', u'3']
ipdb> request.GET.getlist('dict_list[]')
[]

如何在django中从此请求中获取dict_list的正确值?

编辑:我能够使用dict_list: JSON.stringify([{foo:'a'}, {bar:'b'}]),但我希望能够以与内容无关的方式发送数据。

1 个答案:

答案 0 :(得分:0)

 $.ajax({
    type: "POST",
    url: '/some/url/',
    data: {
       'normal_list[]': [1,2,3],
       'dict_list[]': [{foo:'a'}, {bar:'b'}],
       'csrfmiddlewaretoken': '{{csrf_token}}'
    }
    contentType: "application/json;charset=utf-8",
    dataType: "json",
    success: function(data) { 
       //Message here or show data
    },
    error: function(ts) { 
        //Message here
        alert(ts);         
    }
 })