代碼筆記

「Flask筆記」 jinjia2 範本之控制語句

flask — jinja2範本之控制語句


if語句

語法

{% if 判斷條件 %}
.....
{% elif 判斷條件 %}
.....
{% else %}
.....
{% endif %}
{% if age == 18 %}
    <p>成年了</p>
{% elif age < 18 %}
    <p>未成年</p>
{% else %}
    <p>....</p>
{% endif %}

for循環語句

語法

{% for _ in 迭代對象 %}
....
{% else %}
{# 如果沒有遍歷對象則顯示的內容 #}
....
{% endif %}

並且’Jinja2’中的’for’循環還包含以下遍歷,可以用來獲取當前的遍歷狀態:
loop.index:當前迭代的索引(從1開始)

loop.index0:當前迭代的索引(從0開始)

loop.first:是否是第一次迭代,返回True或者False

loop.last:是否是最後一次迭代,返回True或者False

loop.length:序列的長度

另外,不可以使用continuebreak表達式來控制循環的執行

<table border="1">
    <tbody>
        <thead>
            <tr>
                <th>書名</th>
                <th>作者</th>
                <th>價格</th>
                <th>數量</th>
            </tr>
            {% for book in books %}
                 {% if loop.first %}
                    <tr style="background: red">
                 {% elif loop.last %}
                     <tr style="background:green">
                 {% elif loop.index==3 %}
                     <tr style="background: pink;">
                 {% else %}
                     <tr>
                 {% endif %}
                    <td>{{ book.name }}</td>
                    <td>{{ book.author }}</td>
                    <td>{{ book.price }}</td>
                    <td>{{ loop.length }}</td>
                 </tr>
            {% endfor %}
        </thead>
    </tbody>
</table>

for循環輸出九九乘法表

<table border="1">
    <tbody>
       {% for x in range(1,10) %}
            <tr>
                {% for y in range(1,x + 1 ) %}
                    <td>{{ x }} * {{ y }} = {{ x*y }}</td>
                {% endfor %}
            </tr>
       {% endfor %}
    </tbody>
</table>

Recent Posts

Flexible Shipping Pro

在WordPress的世界裡,…

5天 ago

2023 年 WordPress 中最棒的多語言翻譯外掛推薦

擔心如何翻譯您的網站語言以支持…

1年 ago

2023 年 WordPress 中最棒的可視化頁面構建器外掛推薦

在設計任何頁面或網站時,對於不…

1年 ago

Ella 多用途 Shopify 佈景主題

Shopify 佈景主題市場上有許…

1年 ago

AI Engine Pro

喵容今天帶來的 AI Engi…

1年 ago

AIKit

喵容今天為您帶來 AIKit …

1年 ago