Flask_學習筆記_07: Flask中的for迴圈
阿新 • • 發佈:2018-11-26
上次講了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標籤,表示單元格內容資訊
實際效果:
總結:
-
Flask中,HTML中的for迴圈格式:
{% for xx in xx %}{% endfor %}
- Flask中,HTML中的訪問變數元素的屬性格式: {{ xx.屬性}}