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

Iterating over keys and values of a dictionary in mustache / pystache

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

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

如何使用该字典在 pystache 中呈现 key, value 行?

你得稍微改造一下你的字典。使用 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