zoukankan      html  css  js  c++  java
  • django第四课 标签的用法(if/else、for、ifequal、过滤器、注释等)

    if/else

      {% if %}

        <p>内容</P>

      {% endif %}

      {% else %}是可选标签

        {% if %}

          <p>内容</P>

        {% else %}

          <p>内容</p>

        {% endif %}

    '真值'

      False:空元组 空字典 空字符串 0 None False

    for  

      <ul>
        {% for athlete in athlete_list %}
          <li>{{ athlete.name }}</li>
        {% endfor %}
      </ul>

      加入reserved,列表会被反向迭代输出

        <ul>
          {% for athlete in athlete_list  reserved %}
            <li>{{ athlete.name }}</li>
          {% endfor %}
        </ul>

      for语句也可以嵌套使用

        <ul>
          {% for athlete in athlete_list  reserved %}
            <h>{{ athlete.name }}</h>
          

            <ul>
              {% for sport in athlete.sports_played %}
                <li>{{ sport }}</li>
              {% endfor %}
            </ul>

          {% endfor %}
        </ul>

    Django不支持退出循环操作。 如果我们想退出循环,可以改变正在迭代的变量,让其仅仅包含需要迭代的项
    目。 同理,Django也不支持continue语句,我们无法让当前迭代操作跳回到循环头部。

    forloop 

      在每个`` {% for %}``循环里有一个称为`` forloop`` 的模板变量。这个变量有一些提示循环进度信息的属性。forloop.counter 总是一个表示当前循环的执行次数的整数计数器。 这个计数器是从1开始的,所以在第一次循环时 forloop.counter 将会被设置为1。
        {% for item in todo_list %}
          <p>{{ forloop.counter }}: {{ item }}</p>
        {% endfor %}
      forloop.counter0 类似于 forloop.counter ,但是它是从0计数的。 第一次执行循环时这个变量会被设置为0。
      forloop.revcounter 是表示循环中剩余项的整型变量。 在循环初次执行时 forloop.revcounter 将被设置为序列中项的总数。 最后一次循环执行中,这个变量将被置1。
      forloop.revcounter0 类似于 forloop.revcounter ,但它以0做为结束索引。 在第一次执行循环时,该变量会被置为序列的项的个数减1。
      forloop.first 是一个布尔值,如果该迭代是第一次执行,那么它被置为````

      forloop.last 是一个布尔值;在最后一次执行循环时被置为True。

    ifequal/ifnotequal

      {% ifequal %}标签比较两个值,当他们相等时,显示在 {% ifequal %}和 {% endifequal %}之中所有的值。

        {% ifequal user currentuser %}
          <h1>Welcome!</h1>
        {% endifequal %}

      {% if %}类似, {% ifequal %}支持可选的 {% else%}标签

        {% ifequal section 'sitenews' %}
          <h1>Site News</h1>
        {% else %}
          <h1>No News Here</h1>
        {% endifequal %}

    注释

      {# This is a comment #}

    过滤器

      {{ name|lower }}:将name装换成小写

      {{ my_list|first|upper }}:将my_list的第一个字母大写

      {{ bio|truncatewords:"30" }}:取bio的前30个字符串

  • 相关阅读:
    矩阵游戏
    water
    string
    react中怎么实现类似vue的空标签
    git clone项目 权限 问题
    npm 时 确实core-js 问题
    修改本地git仓库用户名和邮箱
    cnpm时报错
    wowza视频录制接口
    Juery鼠标放上去、移开
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/8120286.html
Copyright © 2011-2022 走看看