Python Django模板从另一个字典键访问字典
看起来很简单,但我正在迭代一个字典,从该字典的Python Django模板从另一个字典键访问字典,python,django,Python,Django,看起来很简单,但我正在迭代一个字典,从该字典的id键访问另一个字典。示例: {% for choice in choices %} {{ percentages[choice.id] }} {% endfor %} 例如: for choice in choices: percentages[choice.id] 虽然我得到了一个Django错误: 无法分析剩余部分:'[choice.id]'来自'percentage[choice.id]' 我想这可能有用。我尝试研究并将[choi
id
键访问另一个字典。示例:
{% for choice in choices %}
{{ percentages[choice.id] }}
{% endfor %}
例如:
for choice in choices:
percentages[choice.id]
虽然我得到了一个Django错误:
无法分析剩余部分:'[choice.id]'来自'percentage[choice.id]'
我想这可能有用。我尝试研究并将
[choice.id]
更改为|get:choice.id
作为潜在的解决方案,但这也给了我另一个毫无帮助的错误。您无法从django模板访问字典索引。您必须像这样注册自定义模板标记
@register.filter
def from_dict(d, k):
return d[k]
{% for choice in choices %}
{{ percentages|from_dict:choice.id }}
{% endfor %}
像这样使用它
@register.filter
def from_dict(d, k):
return d[k]
{% for choice in choices %}
{{ percentages|from_dict:choice.id }}
{% endfor %}
无法从django模板访问字典索引。您必须像这样注册自定义模板标记
@register.filter
def from_dict(d, k):
return d[k]
{% for choice in choices %}
{{ percentages|from_dict:choice.id }}
{% endfor %}
像这样使用它
@register.filter
def from_dict(d, k):
return d[k]
{% for choice in choices %}
{{ percentages|from_dict:choice.id }}
{% endfor %}
我认为这个解决方案将解决您的问题,可能是@HERAwais的复制品,我认为这是非常完整的。核心问题确实是访问字典,尽管我的困惑来自迭代方面。因为这个问题来自Django教程,我想未来的人们会遇到同样的问题。如果没有,那就足够公平了。我认为这个解决方案将解决您的问题,可能是@HERAwais的复制品,我认为这是非常完整的。核心问题确实是访问字典,尽管我的困惑来自迭代方面。因为这个问题来自Django教程,我想未来的人们会遇到同样的问题。如果不是,那就够公平了,很好。这个代码驻留在哪里?在我的视图上方?您必须在应用程序中创建一个名为
templatetags
的包,并在其中放入一个文件(如extras.py
)。然后像这样将它们加载到模板中{%load extras%}
。请看更多关于这个的内容,这很好。这个代码驻留在哪里?在我的视图上方?您必须在应用程序中创建一个名为templatetags
的包,并在其中放入一个文件(如extras.py
)。然后像这样将它们加载到模板中{%load extras%}
。请查看更多关于此的信息