2012-07-14 96 views
120

我有以下for循环在我的django模板显示天。我想知道,是否可以在一个循环中迭代一个数字(在下面的例子中)。或者我必须将其存储在数据库中,然后以days.day_number的形式查询它?Django - 在模板的循环中迭代数字

{% for days in days_list %} 
    <h2># Day {{ i }} - From {{ days.from_location }} to {{ days.to_location }}</h2> 
{% endfor %} 

回答

316

Django提供了它,你可以在1或{{ forloop.counter0 }}指数从0开始。

更多信息使用{{ forloop.counter }}指数开始在Django template forloop

只需添加快捷帮助在这里而不是去Django的文档。

在模板中,你可以做

... 
{% for item in item_list %} 
    {{ forloop.counter }} {# starting index 1 #} 
    {{ forloop.counter0 }} {# starting index 0 #} 

    {# do your stuff #} 
{% endfor %} 
+0

谢谢!它有助于! – 2016-06-22 00:36:35

+0

像魅力一样工作!谢谢 – ashim888 2017-01-04 10:28:46

+0

但它给出长度为1。 – 2017-01-15 07:29:47

9

也可以使用这样的:

{% if forloop.first %} 

{% if forloop.last %}