在胡子/ pystache中迭代字典的键和值

时间:2015-04-14 12:41:39

标签: python mustache pystache

假设我有这样的简单字典:

d = {'k1':'v1', 'key2':'val2'}

如何使用该字典在pystache中渲染key, value行?

1 个答案:

答案 0 :(得分:3)

你必须稍微改造你的字典。使用mustache语法,您只能遍历字典列表,因此您的字典d必须成为一个列表,其中d中的每个键值对都是一个字典,其键和值分别为两个项目,像这样:

>>> [{"k": k, "v": v} for k,v in d.items()]
[{'k': 'key2', 'v': 'val2'}, {'k': 'k1', 'v': 'v1'}]

完整的示例程序:

import pystache

tpl = """\
{{#x}}
 - {{k}}: {{v}}
{{/x}}"""

d = {'k1':'v1', 'key2':'val2'}

d2 = [{"k": k, "v": v} for k,v in d.items()]
pystache.render(tpl, {"x": d2})

输出:

 - key2: val2
 - k1: v1