我有一个品牌和类别列表。一个品牌可以有多个类别。
这是html
{% for brand in brands %}
<li><input type="radio" value="{{brand.title}}" name="brand">{{brand.title}}</li>
{% endfor %}
{% for category in categories %}
<li><input type="checkbox" value="{{category.title}}" name="category" > {{category.title}}</li>
{% endfor %}
<input type="submit" value="submit" id="brand_category">
这是脚本
$('#brand_category').click(function(event){
$("input:checkbox[name=category]:checked").each(function(){
if($(this).prop("checked",true)){
category.push($(this).val())
}
});
parameter.push({
brand : $("input[type='radio']:checked").val(),
category: category
})
var json = JSON.stringify(parameter);
$.ajax({
type: "post",
url: "{% url 'seller_details' %}",
data: { 'parameter[]' : json , csrfmiddlewaretoken:'{{csrf_token}}'},
contentType: 'application/json; charset=utf-8',
dataType:"json",
success: function(data) {
$('#loading-image').hide();
},
error: function(response, error) {
}
});
});
这是视图
list_data = self.request.POST.get('parameter[]')
print list_data
我正在获取这样的数据
[{"brand":"dp","category":["men","women"]}]
我如何从上面的格式收集django中的数据。到目前为止,我一直在获取数据方面不成功。
我尝试使用list_data['brand']
,但它打印时出现以下错误
string indices must be integers
然后我尝试了
list_data = self.request.POST.getlist('parameter[]')
它引发了以下错误
list indices must be integers, not str
我能做什么。需要帮助。谢谢你
答案 0 :(得分:1)
因为你有一个包含单个字典的列表,你可以像这样访问dict值:
list_data = json.load(list_data)
list_data[0]['brand']
list_data[0]['category']