如何在django模板中访问字典元素?

时间:2014-07-18 21:31:55

标签: python django dictionary django-templates

我在django模板中有一个名为income的词典,我的模板中也有一个名为factors的列表,我想要这样的内容:

{% for factor in factors%}
<div> {{ income[factor.id] }} </div>
{% endfor %}

但{{income [factor.id]}}错了,我怎么能这样做呢?

2 个答案:

答案 0 :(得分:2)

你可以像这样写一个模板标签:

@register.filter
def get_value(d, key):
    return d.get(key)

并像这样使用它:

{{ income|get_value:factor.id }}

答案 1 :(得分:-1)

编辑:正如@kbnk指出的那样,我错了,这不起作用。

如果您不想创建过滤器,可以尝试以下操作:

{% for factor in factors %}
    {% with factor_id=factor.id %}
        <div> {{ income.factor_id] }} </div>
    {% endwith %}
{% endfor %}

这很有效,因为你可以在django模板中做一个字典类型的了望。查看django模板文档以获取更多详细信息:https://docs.djangoproject.com/en/dev/ref/templates/api/#variables-and-lookups