如何访问Django模板中的数组元素?

时间:2009-11-09 12:19:31

标签: django

我得到一个传递给我的Django模板的数组arr。我想访问数组中数组的各个元素(例如arr[0]arr[1])等,而不是遍历整个数组。

有没有办法在Django模板中执行此操作?

4 个答案:

答案 0 :(得分:288)

请记住,Django模板中的点符号用于Python中的四种不同表示法。在模板中,foo.bar可以表示以下任何内容:

foo[bar]       # dictionary lookup
foo.bar        # attribute lookup
foo.bar()      # method call
foo[bar]       # list-index lookup

按顺序尝试它们,直到找到匹配项。因此foo.3将为您提供列表索引,因为您的对象不是以3为键的dict,没有名为3的属性,并且没有名为3的方法。

答案 1 :(得分:134)

arr.0
arr.1

答案 2 :(得分:29)

您可以使用arr.0 arr.1访问序列元素,依此类推。有关详细信息,请参阅django书的The Django template system chapter

答案 3 :(得分:3)

当您render请求时coctext提供一些信息: 例如:

return render(request, 'path to template',{'username' :username , 'email'.email})

您可以在模板上访问它,如下所示: for variabels :

{% if username %}{{ username }}{% endif %}

for array :

{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}

你也可以在views.py中命名数组对象,并且十个使用它:

{% if username %}{{ username.first }}{% endif %}

如果还有其他问题我想帮助你