📜  django 中的 for 循环 - Python (1)

📅  最后修改于: 2023-12-03 15:00:26.833000             🧑  作者: Mango

Django 中的 for 循环

在 Django 中,我们可以使用 for 循环来遍历数据。这个循环和 Python 中的 for 循环用法一样。常用于在模板中循环展示数据或列表。

基本语法

使用 for 循环的基本语法如下:

{% for item in list %}
    {{ item }}
{% endfor %}

其中,list 是要循环遍历的数据列表,item 是循环中的每一个元素变量名(可以自己定义),{{ item }} 用于显示每一个元素。

在模板中使用 for 循环

我们可以在 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 进行开发。