zoukankan      html  css  js  c++  java
  • Danjgo学习笔记(四)---danjgo框架内的常用标签

    danjgo模板的部分语句用法

    # if语句笔记:
    1. 所有的标签都是在`{%%}`之间。
    2. if标签有闭合标签。就是`{% endif %}`。
    3. if标签的判断运算符,就跟python中的判断运算符是一样的。`==、!=、<、<=、>、>=、in、not in、is、is not`这些都可以使用。
    4. 还可以使用`elif`以及`else`等标签。

    # for...in...笔记:

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

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

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

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

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

    ```python
    {% 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`中的内容。示例代码如下:

    ```python
    {% for person in persons %}
    <li>{{ person }}</li>
    {% empty %}
    暂时还没有任何人
    {% endfor %}
    ```

    # with标签笔记:

    1. 在模板中,想要定义变量,可以通过`with`语句来实现。
    2. `with`语句有两种使用方式,第一种是`with xx=xxx`的形式,第二种是`with xxx as xxx`的形式。
    3. 定义的变量只能在with语句块中使用,在with语句块外面使用取不到这个变量。
    示例代码如下:
    ```python
    {% with zs=persons.0%}
    <p>{{ zs }}</p>
    <p>{{ zs }}</p>
    {% endwith %}
    下面这个因为超过了with语句块,因此不能使用
    <p>{{ zs }}</p>

    {% with persons.0 as zs %}
    <p>{{ zs }}</p>
    {% endwith %}
    ```

  • 相关阅读:
    计算机基础知识
    第三次作业函数
    c博客作业01顺序、分支结构
    C语言第02次作业循环结构
    c语言第0次作业
    JAVA在Eclipse里能运行,但是在cmd中却提示找不到主函数的错误【环境变量配置】
    MFC自定义消息机制步骤
    关于VC6.0界面MFC设置成XP风格问题【可以变得更加好看】
    VC6 下学习使用Teechart8记录 一 安装和熟悉teechart8【一个非常好的画图插件】
    Matlab中,让程序自动处理类似A1,A2,A3变量的方法。
  • 原文地址:https://www.cnblogs.com/xifengqidama/p/11340164.html
Copyright © 2011-2022 走看看