使用Django/Python读取多维post请求

使用Django/Python读取多维post请求,python,django,post,multidimensional-array,Python,Django,Post,Multidimensional Array,我正在发送一个如下的post请求: photo[1][id] = 1234 photo[1][size] = 4x4 photo[1][quantity] = 2 photo[2][id] = 4567 photo[2][size] = 4x6 photo[2][quantity] = 1 ... 使用Django/Python读取此数据的最佳方式是什么 谢谢 您可能想试试 例如,如果您通过POST向视图提交了以下表单: <input name="photo['1']['id']"

我正在发送一个如下的post请求:

photo[1][id] = 1234
photo[1][size] = 4x4
photo[1][quantity] = 2
photo[2][id] = 4567
photo[2][size] = 4x6
photo[2][quantity] = 1
...
使用Django/Python读取此数据的最佳方式是什么

谢谢

您可能想试试

例如,如果您通过POST向视图提交了以下表单:

<input name="photo['1']['id']"       value="1234">
<input name="photo['1']['size']"     value="4x4">
<input name="photo['1']['quantity']" value="2">
<input name="photo['2']['id']"       value="4567">
<input name="photo['2']['size']"     value="4x6">
<input name="photo['2']['quantity']" value="1">

在您的视图中,您可以这样解析它:

from querystring_parser import parser
post_dict = parser.parse(request.POST.urlencode())
print post_dict
# {u'csrfmiddlewaretoken': u'<crazy hash goes here>', 
#  u'photo': 
#    {1: {u'id': u'1234', u'size': u'4x4', u'quantity': u'2'},
#     2: {u'id': u'4567', u'size': u'4x6', u'quantity': u'1'}
#  }
来自querystring\u解析器导入解析器
post\u dict=parser.parse(request.post.urlencode())
打印日志
#{u'csrfmiddlewaretoken':u',
#u‘照片’:
#{1:{u'id':u'1234',u'size':u'4x4',u'quantity':u'2'},
#2:{u'id':u'4567',u'size':u'4x6',u'quantity':u'1'}
#  }
访问第一张照片的大小非常简单,只需
post_dic[1]['size']