from flask import Flask, render_template app = Flask(__name__) # 定義類用於引數傳遞 class User: """ 對於引數age是後續加上去的,因為前期已經對於類進行過例項化了,所以在增加引數時,最好給上一個預設值. 不然之前的寫法都要重新修改. """ def __init__(self, name, e_mail, age=18): self.name = name self.e_mail = e_mail self.age = age @app.route("/") def hello_world(): # 控制語句 if 的使用 user = User("Tina", "", 17) # 控制語句 for 的使用, 注意在Jinja2模板中for迴圈是沒有break語句的. # 圖書資訊列表 books = [{ "name": "三國演義", "author": "羅貫中" }, { "name": "水滸傳", "author": "施耐庵" }, { "name": "紅樓夢", "author": "曹雪芹" }, { "name": "西遊記", "author": "吳承恩" }] return render_template("control.html", user=user, books=books) if __name__ == "__main__": app.run(host="0.0.0.0", port=5001, debug=True)
效果:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>控制語句使用</title> </head> <body> <!--這裡是Jinja2模板的規則.--> <!--if語句--> {% if user.age<18 %} <div>對不起{{ user.name }},你還未成年,不能進入網咖.</div> {% else %} <div>恭喜你{{ user.name }},你已成年,可以進入網咖.</div> <!--Jinja2模板中if語句要有endif結束符--> {% endif %} <!--for語句, books為傳過來的圖書資訊--> <div>圖書資訊:<br></div> {% for book in books %} <div> 書名: {{ book.name }}, 作者: {{ book.author }} <br> </div> {% endfor %} </body> </html>