zoukankan      html  css  js  c++  java
  • 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 %}
    
  • 相关阅读:
    开心网注册详解和邀请码发放
    3COM 905TX 配置
    SQL使用
    JDBC的使用
    kiko日记几个月以来工作总结2010 1124
    talk about the history of JAZZ
    这几个月的工作任务
    工作间期的不足
    转: mac使用nvm管理多个版本node
    负载均衡与ssl证书
  • 原文地址:https://www.cnblogs.com/randomlee/p/10296724.html
Copyright © 2011-2022 走看看