首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Cheetah for Python中正确使用多维字典?

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

Stack Overflow用户
提问于 2010-08-17 03:21:28
回答 1查看 1.1K关注 0票数 1

我有一本字典:

代码语言:javascript
运行
复制
{0: {'Shortname': 'cabling', 'Name': 'CAT5 Cabling', 'MSRP': '$45.00'}, 1: {'Shortname': 'antenna', 'Name': 'Radio Antenna', 'MSRP': '$35.00'}}

并使用Cheetah,模板的以下部分:

代码语言:javascript
运行
复制
#for $item in $items
<tr>
<td>$item.Name</td>
<td>$item.MSRP</td>
</tr>
#end for

当我运行代码时,我得到这个错误:

代码语言:javascript
运行
复制
<class 'Cheetah.NameMapper.NotFound'>: cannot find 'Name'
      args = ("cannot find 'Name'",)
      message = "cannot find 'Name'" 

在模板的第1行的#for声明中,我尝试分离出键值,例如:

代码语言:javascript
运行
复制
#for $key, $value in $items

但是,我仍然不能遍历这些值来获取必要的信息。

我是不是做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-17 05:07:32

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

其次,由于您使用外部dict和一个整数作为键,因此$item将是该整数。这意味着您要在整数中查找Name。所以在你的例子中,你可以这样做(用一个不同的名字):

代码语言:javascript
运行
复制
#for $item in $products
<td>$products[$item].Name</td>
...
#end for

这样的列表将适用于您的模板。

代码语言:javascript
运行
复制
products = [{'Name':'prod1', ...}, {'Name': 'prod2', ...}]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3496530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档