Python 字符串索引超出范围django
我试图迭代一个数组,但它抛出了上面的错误 以下是视图:Python 字符串索引超出范围django,python,django,Python,Django,我试图迭代一个数组,但它抛出了上面的错误 以下是视图: brand_category = self.request.POST.get('parameter[]') for D in brand_category: print brand_category brands, categories = D[0] , D[1] print brands , categories 品牌类别如下所示: {"spykar":["Jeans","Sweater"],"Madame":[
brand_category = self.request.POST.get('parameter[]')
for D in brand_category:
print brand_category
brands, categories = D[0] , D[1]
print brands , categories
品牌类别如下所示:
{"spykar":["Jeans","Sweater"],"Madame":["Tops","jeans"]}
以下是回溯:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Python27\lib\site-packages\django\views\generic\base.py" in view
71. return self.dispatch(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\views\generic\base.py" in dispatch
89. return handler(request, *args, **kwargs)
File "C:\Users\lenovo\Desktop\Grooved2\grooved\src\sellers\views.py" in post
329. brands, categories = D[0] , D[1]
在dict上迭代只生成键。如果您想同时迭代键和值,那么可以迭代iteritems方法的结果。首先,brand_category不是数组,而是字典。如果你在brand_类别中为D做了,你只是在循环键。要正确循环字典,请执行以下操作:
for brand, categories in brand_category.iteritems():
print brand, categories
如果要循环列表中的值,请执行以下操作:
for brand, categories in brand_category.iteritems():
print brand
for category in categories:
print category
您可能有错误的变量,brand_category不是您在问题中所示的字典,它是一个unicode对象。再次检查您的代码。我很确定这是不可能的,因为错误非常明显,您在unicode对象上使用了iteritems函数。有关详细信息,请查看python文档:。也许你的brand_类别是一个类似于字典的json字符串?数据来自哪里?request.POST本身不能包含dict.brand_category=self.request.POST.get'parameter[]”品牌_category的类型是什么?品牌类型