在Django模板中动态获取列表项
我在页面上有一些循环,需要根据循环号列出项目。
当我打电话时:
{{ mylist.1 }}{{ mylist.2 }}
{{ mylist.3 }}
一切正常,但是我真正需要的是:
{% for x in somenumber|MyCustomRangeTag %} {{ mylist.x }}
{% endfor %}
MyCustomRangeTag给了我range()
它可以使用的Python ,而我已经拥有x
了数量。x
根据循环号,1、2、3等也是如此。这有可能吗?
回答:
这不可能直接实现,因为Django认为这"x"
是查找的关键mylist
-而不是x 的值。因此,当x = 5Django
尝试查找mylist["x"]
而不是mylist[5]
。
使用以下过滤器作为解决方法:
@register.filterdef lookup(d, key):
return d[key]
并像这样使用
{{ mylist|lookup:x }}
以上是 在Django模板中动态获取列表项 的全部内容, 来源链接: utcz.com/qa/402236.html