Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Cheetah for Python中正确使用多维字典?_Python_Templates_Dictionary_Cheetah - Fatal编程技术网

如何在Cheetah for Python中正确使用多维字典?

如何在Cheetah for Python中正确使用多维字典?,python,templates,dictionary,cheetah,Python,Templates,Dictionary,Cheetah,我有以下字典: {0: {'Shortname': 'cabling', 'Name': 'CAT5 Cabling', 'MSRP': '$45.00'}, 1: {'Shortname': 'antenna', 'Name': 'Radio Antenna', 'MSRP': '$35.00'}} 使用Cheetah,模板的以下部分: #for $item in $items <tr> <td>$item.Name</td> <td>$ite

我有以下字典:

{0: {'Shortname': 'cabling', 'Name': 'CAT5 Cabling', 'MSRP': '$45.00'}, 1: {'Shortname': 'antenna', 'Name': 'Radio Antenna', 'MSRP': '$35.00'}}
使用Cheetah,模板的以下部分:

#for $item in $items
<tr>
<td>$item.Name</td>
<td>$item.MSRP</td>
</tr>
#end for
但是,我仍然无法迭代这些值以获得必要的信息


我做错了什么吗?

首先,我在使用items作为Cheetah变量名时遇到了问题。可能是一个保留字或什么的。 使用不太通用的东西可能更好

其次,由于您使用了一个外部dict,其中一个整数作为键,$item将是该整数。 这意味着您要在整数中查找名称。因此,在您使用这样的dict的情况下,您可以这样做(使用不同的dict名称):


这工作完美无瑕!非常感谢你。我尝试使用一个范围为$I的迭代器(范围为1,amountOfProducts),但这似乎也不起作用。非常棘手。无论如何,你已经修复了它!非常感谢你的帮助。
<class 'Cheetah.NameMapper.NotFound'>: cannot find 'Name'
      args = ("cannot find 'Name'",)
      message = "cannot find 'Name'" 
#for $key, $value in $items
#for $item in $products
<td>$products[$item].Name</td>
...
#end for
products = [{'Name':'prod1', ...}, {'Name': 'prod2', ...}]