0

我想从两个包含变量值的列表中动态填充一个模板。

有人可以告诉我,我怎么能做到这样的事情:

current_task_resources_types = ["image", "html"]
current_task_resources_names = ["elephant.png", "index.html"]

"task": [
    {% for index in current_task_resources.length %}
        {"type": "{{ current_task_resources_types.index }}", "url": "{{ current_task_resources_names.index }}"},
    {% endfor %}
],
4

1 回答 1

1

您可以zip在视图中列出列表,

current_task_resources = zip(current_task_resources_types, current_task_resources_names)

然后遍历模板中的压缩列表

"task": [
    {% for type, name in current_task_resources %}
        {"type": "{{ type }}", "url": "{{ names }}"},
    {% endfor %}
]

在 Python 2 中,itertools.izip如果列表很长,可能会提高性能。

于 2013-07-27T12:26:10.577 回答