📅  最后修改于: 2023-12-03 15:00:26.833000             🧑  作者: Mango
在 Django 中,我们可以使用 for
循环来遍历数据。这个循环和 Python 中的 for
循环用法一样。常用于在模板中循环展示数据或列表。
使用 for
循环的基本语法如下:
{% for item in list %}
{{ item }}
{% endfor %}
其中,list
是要循环遍历的数据列表,item
是循环中的每一个元素变量名(可以自己定义),{{ item }}
用于显示每一个元素。
我们可以在 Django 模板中使用 for
循环来展示数据。比如,下面的代码演示了如何在模板中循环展示一个列表:
<ul>
{% for item in my_list %}
<li>{{ item }}</li>
{% endfor %}
</ul>
其中,my_list
是要循环遍历的数据列表,<li>{{ item }}</li>
用于显示每一个元素。页面中将展示一个无序列表。
我们还可以使用 forloop
对象来获取循环中的计数器、长度等信息。forloop
对象是由 Django 自动创建的,它包含了有关当前循环的一些信息,如下所示:
| 属性 | 描述 |
| --------- | ---------------------------------------- |
| forloop.counter | 当前循环的计数器(从 1 开始) |
| forloop.counter0 | 当前循环的计数器(从 0 开始) |
| forloop.revcounter | 当前循环的反向计数器(从 list|length
开始) |
| forloop.revcounter0 | 当前循环的反向计数器(从 list|length-1
开始) |
| forloop.first | 当前循环是否为第一个元素 |
| forloop.last | 当前循环是否为最后一个元素 |
| forloop.parentloop | 外层循环的 forloop 对象 |
下面的代码演示了如何在循环中使用计数器:
<ul>
{% for item in my_list %}
<li>{{ forloop.counter }} - {{ item }}</li>
{% endfor %}
</ul>
页面中将显示一个带有计数器的无序列表。
我们还可以在循环中使用条件判断语句来控制循环:
{% for item in my_list if item.name == 'John' %}
{{ item.name }}
{% endfor %}
上面的代码演示了如何在循环中使用条件判断,只有 name
为 'John'
的元素才会被显示。
我们可以在循环中嵌套其他循环,比如:
{% for category in categories %}
<h2>{{ category.name }}</h2>
<ul>
{% for product in category.products %}
<li>{{ product.name }} - {{ product.price }}</li>
{% empty %}
<li>No products available.</li>
{% endfor %}
</ul>
{% endfor %}
上面的代码演示了如何在循环中嵌套其他循环。页面中将显示一个分类的列表和每个分类下的产品列表。
这篇文章介绍了 Django 中如何使用 for
循环来遍历数据。我们可以在模板中使用 for
循环来展示列表、计算长度、使用条件判断、嵌套循环等。掌握了 for
循环的基本语法和一些高级技巧后,我们可以更加灵活地使用 Django 进行开发。