首页 > 解决方案 > Django 模板从另一个字典键访问字典

问题描述

似乎微不足道,但我正在迭代一个字典,从该字典的id键访问另一个字典。例子:

{% for choice in choices %}
  {{ percentages[choice.id] }}
{% endfor %}

如:

for choice in choices:
  percentages[choice.id]

虽然我得到一个 Django 错误:

无法解析剩余部分:来自“百分比 [choice.id]”的“[choice.id]

我认为这可能有效。我尝试研究并更改[choice.id]|get:choice.id潜在的解决方案,但这也给了我另一个无益的错误。

标签: pythondjango

解决方案


您无法从 django 模板访问字典索引。您必须像这样注册一个自定义模板标签。

@register.filter
def from_dict(d, k):
    return d[k]

并像这样使用它。

{% for choice in choices %}
  {{ percentages|from_dict:choice.id }}
{% endfor %}

推荐阅读