1. 程式人生 > >Flask_學習筆記_07: Flask中的for循環

Flask_學習筆記_07: Flask中的for循環

shadow code water tle -o list from 神雕俠侶 proc

上次講了if語句,其實在Flask中,用法基本一樣,唯一的區別就是HTML中for循環的語法格式稍微有點不同, 要以一下格式來執行for循環才有效。
{% for xx in xxx %}
{% endfor %}

想想什麽時候才能用到for循環?大致就是遍歷list和dict吧。就來一個list當中包含dict的例子。
代碼如下:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    books = [
        {
            ‘name‘: ‘飛狐外傳‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 56
        },
        {
            ‘name‘: ‘雪山飛狐‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 62
        },
        {
            ‘name‘: ‘連城訣‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 69.5
        },
        {
            ‘name‘: ‘射雕英雄傳‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 72
        },
        {
            ‘name‘: ‘白馬嘯西風‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 76.2
        },
        {
            ‘name‘: ‘鹿鼎記‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 77
        },
        {
            ‘name‘: ‘笑傲江湖‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 89
        },
        {
            ‘name‘: ‘書劍恩仇錄‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 96
        },
        {
            ‘name‘: ‘神雕俠侶‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 56
        },
        {
            ‘name‘: ‘俠客行‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 99
        },
        {
            ‘name‘: ‘倚天屠龍記‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 109
        },
        {
            ‘name‘: ‘碧血劍‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 110
        },
        {
            ‘name‘: ‘鴛鴦刀‘,
            ‘author‘: ‘金庸‘,
            ‘price‘: 56.9
        },
    ]
    return render_template(‘index.html‘, books=books)
if __name__ == ‘__main__‘:
    app.run(debug=True)

首先定義一個名為books的list,裏面包含書名,作者和價格這三個屬性和值。重點來了,HTML中,我們應該要怎麽寫呢?見下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <table>
        <thead>
            <th>書名</th>
            <th>作者</th>
            <th>價格</th>
        </thead>
        <tbody>
            {% for book in books %}
                <tr>
                    <td>{{ book.name }}</td>
                    <td>{{ book.author }}</td>
                    <td>{{ book.price }}</td>
                </tr>
            {% endfor%}
        </tbody>
    </table>
</body>
</html>
  • 給一個table標簽,讓結果以表格形式呈現到前端。
  • 給一個thead標簽,定義表格頭部信息
  • 給一個th標簽,定義列名
  • 給一個tbody標簽,定義表格內容
  • 給一個tr標簽,表示行信息
  • 給一個td標簽,表示單元格內容信息

實際效果:
技術分享圖片

總結:

  1. Flask中,HTML中的for循環格式:
    {% for xx in xx %}

    {% endfor %}

  2. Flask中,HTML中的訪問變量元素的屬性格式: {{ xx.屬性}}

Flask_學習筆記_07: Flask中的for循環