我得到一个数组arr
传递给我的Django模板。我想访问数组中的单个元素,例如arr[0]
,arr[1]
等,而不是遍历整个数组。如何访问Django模板中的数组元素?
有没有办法在Django模板中做到这一点?
谢谢。
我得到一个数组arr
传递给我的Django模板。我想访问数组中的单个元素,例如arr[0]
,arr[1]
等,而不是遍历整个数组。如何访问Django模板中的数组元素?
有没有办法在Django模板中做到这一点?
谢谢。
您可以使用arr.0 arr.1等访问序列元素。有关更多信息,请参阅django书籍的The Django template system chapter。
arr.0
arr.1
等
如何打印动态如前:arr.variablename – karnaf 2014-12-04 12:08:59
有没有办法做到这一点没有幻数? 换句话说,“命名”.0.1.2等......? 例如array [“first name”],array [“last name”]等等。 – cyberjoac 2014-12-19 09:16:53
@cyberjoac在这种情况下使用字典。在视图中:d = {'first_name':'foo','last_name':'bar'}。在模板{{d.first_name}}中可以正常工作。 – 2014-12-19 10:49:01
请记住,在Django模板点符号用于在Python四个不同的符号。在模板中,foo.bar
可以指任何的:
foo[bar] # dictionary lookup
foo.bar # attribute lookup
foo.bar() # method call
foo[bar] # list-index lookup
它试图在他们的顺序,直到找到一个匹配。所以foo.3
将让你列表索引,因为你的目标是不是3作为一个关键的字典,没有名为3的属性,并没有一个名为方法3.
** + 1 **欢呼声,这是非常有用的。 – 2014-11-21 06:41:05
是不是第一个也是最后一个更像''foo ['bar']'? – 2016-02-10 05:18:00
似乎没有办法使用变量索引来访问列表项::( – 2017-01-27 16:45:33
当你render
的请求土特产品coctext
一些信息: 为exampel:
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 %}
,如果有其他的问题,我希望能帮助你
你可以这样访问项目'ARR .0','arr.1',...另一种解决方案:编写你自己的模板标签'arr | array_item:“0”'或者类似的东西。 – rphonika 2014-07-30 18:41:44
@rphonika是的,这里的示例:http://stackoverflow.com/a/29664945/2714931 – WeizhongTu 2015-04-16 03:43:42