Python Django Template—在for循环中增加模板中变量的值
我需要在Django模板中的for循环中显示每个项目的排名。我最初在页面上显示10个项目,每次按下load more按钮时再加载10个项目 我尝试使用Python Django Template—在for循环中增加模板中变量的值,python,django,django-templates,Python,Django,Django Templates,我需要在Django模板中的for循环中显示每个项目的排名。我最初在页面上显示10个项目,每次按下load more按钮时再加载10个项目 我尝试使用{{forloop.counter}},但这只适用于前10项。由于调用涉及AJAX,因此每次添加新项时,它们的排名都在1-10之间 我可以向模板发送一个rank变量,但我需要一个方法,在for循环中每次将rank变量递增1。是否有任何默认的Django过滤器?或者有人能帮我写一个自定义过滤器吗 谢谢。我的想法是创建一个计数器类,您可以使用它来增加排
{{forloop.counter}}
,但这只适用于前10项。由于调用涉及AJAX,因此每次添加新项时,它们的排名都在1-10之间
我可以向模板发送一个rank
变量,但我需要一个方法,在for循环中每次将rank
变量递增1。是否有任何默认的Django过滤器?或者有人能帮我写一个自定义过滤器吗
谢谢。我的想法是创建一个计数器类,您可以使用它来增加排名
class Counter:
counter = 0
def increment(self):
self.counter += 1
return self.counter
def set_to_zero(self):
self.counter = 0
return self.counter
并在上下文中传递它。
然后每次在循环中,都可以使用
{{ counter.increment }}
如果您已经有一个
秩
整数,只需使用现有筛选器添加计数器:
{{ forloop.counter0|add:rank }}
最后,我使用add过滤器组合了
{{forloop.counter}
和rank
变量
{{ forloop.counter|add:rank }}
这就是我刚才想出来的。谢谢。每当我调用{{counter.increment}}@Moritz时,这会将字符串“None”输出到我的模板中,这是因为他忘了返回任何内容