从两个列表动态填充模板

时间:2013-07-27 11:36:21

标签: django django-templates python-2.x

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

有人能告诉我,我怎么能达到这样的目的:

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 %}
],

1 个答案:

答案 0 :(得分: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可能会提高性能。