在 django 中获取 row_num 的最佳方法是什么?

发布于 2024-11-06 05:38:52 字数 285 浏览 0 评论 0原文

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

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

提前致谢。

What is the best way to get row_num in django ? Can we use a variable as counter in django template tags ?

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

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情域 2024-11-13 05:38:52

您可以使用 forloop 模板标签:

  • forloop.counter ->循环的当前迭代(1-索引)
  • forloop.counter0 ->循环的当前迭代(从 0 开始索引)
  • forloop.revcounter ->从循环结束开始的迭代次数(1-indexed)
  • forloop.revcounter0 ->从循环结束开始的迭代次数(0索引)
  • forloop.first ->如果这是第一次循环,则为 True
  • forloop.last ->如果这是最后一次循环,则为 True
  • forloop.parentloop ->对于嵌套循环,这是当前循环“上方”的循环

You can use the forloop template tag :

  • forloop.counter -> The current iteration of the loop (1-indexed)
  • forloop.counter0 -> The current iteration of the loop (0-indexed)
  • forloop.revcounter -> The number of iterations from the end of the loop (1-indexed)
  • forloop.revcounter0 -> The number of iterations from the end of the loop (0-indexed)
  • forloop.first -> True if this is the first time through the loop
  • forloop.last -> True if this is the last time through the loop
  • forloop.parentloop -> For nested loops, this is the loop "above" the current one
吹泡泡o 2024-11-13 05:38:52

我没有使用 django (我使用的是 pylons),但我不认为这实际上是 django “问题”。您应该使用“枚举”。它是Python语言的一部分。

像这样:

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

这会打印

  1. 哈利·波特
  2. 指环王

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

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

我希望这就是你正在寻找的。

最好的,K.

I'm not using django (I'm using pylons) but I dont think that this is actually a django "problem". You should use "enumerate". It is part of the python language.

Like this:

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

this would print

  1. Harry Potter
  2. Lord of the Rings

so in your case you should write:

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

I hope this was what you were looking for.

Best, k.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文