在django获得rownum的最佳方法是什么?

时间:2011-05-11 08:21:45

标签: python django templates

在django中获取rownum的最佳方法是什么?我们可以在django模板标签中使用变量作为计数器吗?

{% for o in objects %}
<tr>
  <td>{{ row_num }}</td>
  <td>{{ o.first_name }}</td>
  <td>{{ o.last_name }}</td>
</tr>
{% endfor %}

提前致谢。

2 个答案:

答案 0 :(得分:4)

您可以使用forloop模板标记:

  • forloop.counter - &gt;循环的当前迭代(1索引)
  • forloop.counter0 - &gt;循环的当前迭代(0索引)
  • forloop.revcounter - &gt;循环结束时的迭代次数(1索引)
  • forloop.revcounter0 - &gt;循环结束时的迭代次数(0索引)
  • forloop.first - &gt;如果这是第一次通过循环,则为真
  • forloop.last - &gt;如果这是最后一次循环,则为真
  • forloop.parentloop - &gt;对于嵌套循环,这是当前
  • 的“上方”循环

答案 1 :(得分:0)

我没有使用django(我正在使用挂架),但我不认为这实际上是一个django“问题”。你应该使用“枚举”。它是python语言的一部分。

像这样:

for i, book in enumerate(books): 
    print i+". "+book.name 

这会打印

  
      
  1. 哈利波特
  2.   
  3. 指环王
  4.   

所以在你的情况下你应该写:

{% for i, o in enumerate(objects) %}
<tr>
  <td>{{ i }}</td>
  <td>{{ o.first_name }}</td>
  <td>{{ o.last_name }}</td>
</tr>
{% endfor %}

我希望这就是你要找的东西。

最好,k。