本文介绍了如何在Django模板中使用整数变量作为下标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Django模板中有一个for循环:
I have a for loop in a Django template:
{% for i in no_of_lift_series_range %}
{{ workout.lifts.series.i.activity_name }}
{% endfor %}
此处无法输出任何内容.问题在于使用 i
.我知道这一点,因为:
where this fails to output anything. The problem lies in the use of i
. I know this, because this:
{% for i in no_of_lift_series_range %}
{{ workout.lifts.series.0.activity_name }}
{% endfor %}
输出应该输出的内容.为什么我不能以我想要的方式使用 i
以及如何使它起作用?
outputs what it is supposed to output. Why can't I use i
in the way I want and how do I make this work?
推荐答案
我将创建自定义模板过滤器以按索引获取列表项:
I would create custom template filter to get the list item by index:
@register.filter
def get_by_index(mylist, index):
return mylist[index]
您可以这样使用它:
{% for i in no_of_lift_series_range %}
{% with item=workout.lifts.series|get_by_index:i %}
{{ item.activity_name }}
{% endwith %}
{% endfor %}
这篇关于如何在Django模板中使用整数变量作为下标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!