如何解析django模板中的词典列表中的数据?

时间:2013-03-08 14:29:31

标签: python dictionary

这是我的模板,数据是我想要达到每个词典的键和值的词典列表

<ul>
{% for item in data %}
{% for key in item.keys %}
    {% if key == 'Server Name' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ item[key] }}</li>
    {% endif %}
    {% if key == 'Server Price' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ item[key] }}</li>
    {% endif %}
{% endfor %}
</ul>   
请帮助我

3 个答案:

答案 0 :(得分:1)

只需使用items

<ul>
{% for item in data %}
{% for key, value in item.items %}
    {% if key == 'Server Name' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ value }}</li>
    {% endif %}
    {% if key == 'Server Price' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ value }}</li>
    {% endif %}
{% endfor %}
</ul>

PS:你确定你不是指forloop.parentloop.last

PPS:你有没有办法重新设计你的dicts,所以键中没有空格?

答案 1 :(得分:0)

这对你有用吗?

模板允许您像在任何其他Python代码中一样遍历dict。 这是非常有益的!

<ul>
{% for key, value in data.items %}
    {% if key == 'Server Name' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ value }}</li>
    {% endif %}
    {% if key == 'Server Price' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ value }}</li>
    {% endif %}
{% endfor %}
</ul>

或者我错过了什么?

答案 2 :(得分:0)

你可以像在python代码中的for循环一样迭代键值对:

<ul>
{% for item in data %}
{% for key, value in item.items %}
    {% if key == 'Server Name' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ value }}</li>
    {% endif %}
    {% if key == 'Server Price' %}
        <li{% if forloop.last %} class='last'{% endif %}>{{ value }}</li>
    {% endif %}
{% endfor %}
</ul>