【问题标题】:Django templates accessing dictionary from another dictionary keyDjango 模板从另一个字典键访问字典
【发布时间】:2019-09-01 13:49:58
【问题描述】:

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

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

如:

for choice in choices:
  percentages[choice.id]

虽然我得到一个 Django 错误:

无法解析余数:'[choice.id]' from 'percentages[choice.id]'

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

【问题讨论】:

标签: python django


【解决方案1】:

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

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

然后像这样使用它。

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

【讨论】:

  • 这很好。这段代码在哪里?超出我的视野?
  • 您必须在您的应用程序中创建一个名为templatetags 的包并将一个文件放入其中(如extras.py)。然后将它们加载到像 {% load extras %} 这样的模板中。请参阅此here 的更多信息
猜你喜欢
  • 1970-01-01
  • 2021-04-10
  • 2016-11-26
  • 2015-09-28
  • 2013-11-13
  • 2016-02-29
  • 2013-12-03
  • 2021-10-17
相关资源
最近更新 更多