给定变量访问Django模板的字典?

时间:2018-12-31 10:21:11

标签: python django django-templates

我的问题是,是否有一种方法可以获取给定键的字典的值。例如,假设my_dictionary{1:'a', 2:'b', 3:'c'},而我有一个属性key等于1。如何获得'a'?我尝试了{{my_dictionary.key}}{{my_dictionary.{{key}} }},但都没有用。我的想法是和python做同样的事情,它是my_dictionary[key],但在Django模板中。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式实现此目标:

{% for key, values in data.items %}
   {% if key == 1 %}
      {{ value }}
   {% endif %}
{% endfor %}

答案 1 :(得分:0)

解决此问题的最佳方法是编写自定义模板过滤器:

from django.template.defaulttags import register
register = Library()
...
@register.filter
def get_item(dictionary, key):
    # use .get so that if the key does not exist a KeyError will be raised
    return dictionary.get(key)

在模板中的用法:

{{ data.items|get_item:<key_variable_here> }}