我可以从django模板访问字典中的特定键值吗?

时间:2012-03-28 20:45:25

标签: python django django-templates

是否有替换的get()函数?

{% for key, value in choices.items %} 
  <li>{{key}} - {{value}}</li>
{% endfor %}

从python我有get()函数从特定键获取值。但是我找不到用django模板标签做相应的方法。所以我想知道这可能吗? 我需要获取特定的值,因为使用循环会在html源代码中添加许多新行。

或者在将视频发送到模板之前应该关注视图中的输出,哪种方法更好?

6 个答案:

答案 0 :(得分:9)

您可以使用{{ choices.items.key }}访问特定的dict元素。

没有理由关心HTML代码中的空格;典型的最终用户在阅读它时没有真正的业务,如果他好奇,他总是使用DOM查看器或通过HTML美化器运行它。

答案 1 :(得分:4)

如果您想要特定值,只需将其添加到虚线路径:

{{ choices.items.somekey }}
如果choices.items['somekey']choices.items,则

会为您提供dict的价值。

答案 2 :(得分:3)

我认为你现在正在前进,只是为了分享我的观点。你也可以这样做

{% for value in dict %} 
    {{value}}                                                                   
{% endfor %}

或使用键,值

{% for key,value in dict.items %}
    {{key}} : {{ value }}
{% endfor %}

答案 3 :(得分:1)

如果选择类型是DICT,如{}。

{{choices.somekey|default:""}}

如果choices.items是DICT类型。

{{choices.items.somekey|default:""}}

尝试查看小例子。

# In Views.py
def dict_test(request):
    my_little_dict = {"hi": "Hello"} 
    ....
# in Template
{{my_little_dict.hi}}

答案 4 :(得分:0)

您可以指定为{{ choices.key_name }} 它对我有用。简单

答案 5 :(得分:0)

{{ choices.values }}

这会立即为您提供字典中所有值的列表。