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個字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM