我有一个在Django模板命名income
字典,我也有一个名为我的模板factors
名单,我想是这样的:如何访问django模板中的字典元素?
{% for factor in factors%}
<div> {{ income[factor.id] }} </div>
{% endfor %}
但{{收入[factor.id]}}是错误的,我该如何做这样的事情?
我有一个在Django模板命名income
字典,我也有一个名为我的模板factors
名单,我想是这样的:如何访问django模板中的字典元素?
{% for factor in factors%}
<div> {{ income[factor.id] }} </div>
{% endfor %}
但{{收入[factor.id]}}是错误的,我该如何做这样的事情?
你可以写一个模板标签,像这样:
@register.filter
def get_value(d, key):
return d.get(key)
,并使用它,像这样:
{{ income|get_value:factor.id }}
编辑:由@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
这将无法正常工作,因为模板将采用字面字符串“factor_id”作为字典键,而不是“factor_id”变量的值。 – knbk
@kbnk:我可以做任何事情来解决这个问题并使用这种方法吗?我不想为这个 – Navid777
@knbk创建一个过滤器啊你说得对,好电话 –