for-loop django模板语言循环 - Django-在模板的循环中迭代数字




django循环 django模板判断 (3)

也可以使用这个:

{% if forloop.first %}

要么

{% if forloop.last %}

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

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

Django提供了它,您可以使用{{ forloop.counter }}索引开始于1或{{ forloop.counter0 }}索引从0开始。

更多信息在Django模板forloop

只是在这里添加快速帮助,而不是去django文档。

在模板中,你可以做

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

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

您可以使用map ,这是一种函数式编程技术,也可以在PythonHaskell等其他语言中使用。

[1,2,3,4].map( function(item) {
     alert(item);
})

一般语法是:

array.map(func)

通常, func将采用一个参数,该参数是数组的一个项目。 但是在JavaScript的情况下,它可以采用第二个参数,即项目的索引,以及第三个参数,即数组本身。

array.map的返回值是另一个数组,因此您可以像这样使用它:

var x = [1,2,3,4].map( function(item) {return item * 10;});

现在x是[10,20,30,40]

您不必编写内联函数。 它可以是一个单独的功能。

var item_processor = function(item) {
      // Do something complicated to an item
}

new_list = my_list.map(item_processor);

这将等同于:

 for (item in my_list) {item_processor(item);}

除了你没有得到new_list





django for-loop django-templates