• Django DTL模板语法中的循环的笔记


    for...in...笔记:

    for...in...标签:

    for...in...类似于Python中的for...in...。可以遍历列表、元组、字符串、字典等一切可以遍历的对象。示例代码如下:

    {% for person in persons %}
    <p>{{ person.name }}</p>
    {% endfor %}
    

    如果想要反向遍历,那么在遍历的时候就加上一个reversed。示例代码如下:

    {% for person in persons reversed %}
    <p>{{ person.name }}</p>
    {% endfor %}
    

    遍历字典的时候,需要使用itemskeysvalues等方法。在DTL中,执行一个方法不能使用圆括号的形式。遍历字典示例代码如下:

    {% for key,value in person.items %}
    <p>key:{{ key }}</p>
    <p>value:{{ value }}</p>
    {% endfor %}
    

    for循环中,DTL提供了一些变量可供使用。这些变量如下:

    • forloop.counter:当前循环的下标。以1作为起始值。
    • forloop.counter0:当前循环的下标。以0作为起始值。
    • forloop.revcounter:当前循环的反向下标值。比如列表有5个元素,那么第一次遍历这个属性是等于5,第二次是4,以此类推。并且是以1作为最后一个元素的下标。
    • forloop.revcounter0:类似于forloop.revcounter。不同的是最后一个元素的下标是从0开始。
    • forloop.first:是否是第一次遍历。
    • forloop.last:是否是最后一次遍历。
    • forloop.parentloop:如果有多个循环嵌套,那么这个属性代表的是上一级的for循环。

    ** 模板中的for...in...没有continue和break语句,这一点和Python中有很大的不同,一定要记清楚! **

    for...in...empty标签:

    这个标签使用跟for...in...是一样的,只不过是在遍历的对象如果没有元素的情况下,会执行empty中的内容。示例代码如下:

    {% for person in persons %}
    <li>{{ person }}</li>
    {% empty %}
    暂时还没有任何人
    {% endfor %}
    
  • 相关阅读:
    【洛谷P3649】回文串
    【CH2401】送礼物
    Python 函数
    Python 文件操作
    JS的DOM和BOM
    JavaScript (内置对象及方法)
    JavaScript 基础(数据类型、函数、流程控制、对象)
    Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)
    MySQL(二)
    数据备份 及 Python 操作 Mysql
  • 原文地址:https://www.cnblogs.com/randomlee/p/10296724.html
Copyright © 2020-2023  润新知