render_template 網頁模板
阿新 • • 發佈:2018-12-21
PY檔案
# -*- encoding: utf-8 -*- # 網頁模板需要匯入render_template from flask import Flask, render_template app = Flask(__name__) app.config.from_pyfile('config.ini') @app.route('/') def index(): my_str = '你好世界' my_int = 123 my_list = [1, 2, 3, 48, 93] my_dict = {'name': '星宇', 'age': 19} contect = {} contect['my_shijei'] = my_str contect['myint'] = 0 contect['mylist'] = [1, 2, 3, 48, 93] contect['mydict'] = {'name': '牛星宇', 'age': 19} # 使用render_template模組來渲染模板檔案,通過第二個引數傳遞資料變數 # return render_template('day3.html', my_shijei=my_str, myint=my_int, mydict=my_dict, mylist=my_list)# 通過**引用來將巢狀dict直接傳遞給模板 return render_template('day3.html', **contect) if __name__ == "__main__": app.run()
HTML檔案:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>flask網頁模板的學習</title> </head> <body> <div>這是我們第一個網頁模板</div> <br /> {# 這是註釋,最基本的模板語法輸出一個變數 #} {{ my_shijei + "李毅囧" }}<br /> {# 模板語法可以以下標引用的方式輸出list元素#} {{ mylist[0]}}{{ mylist.1}}<br /> {#模板可以做簡單的運算操作#} {{ myint + 10 }} <br /> {# 模板可以通過呼叫key取value#} {{ mydict["name"] }}{{ mydict.age }} {#使用{%%}來定義簡單的邏輯控制程式碼#} {% if myint %} 整型存在 {% else %} 不存在 {#使用if判斷,一定要有endif用來判斷結束邏輯判斷#} {% endif %} <ul> {# 使用for迴圈來遍歷list #} {% for itme in mylist %} <li>{{ itme }}</li> {% endfor %} </ul> {# 使用 if for 巢狀來實現單雙行背景色#} <table style="padding:5px"> {% for item in mylist %} {#使用loop關鍵字可以呼叫迴圈的索引,用來判斷下標單雙數#} {% if loop.index% 2 == 0 %} <tr style="background-color:tomato"> <td style="border:1px solid black;">{{ item }}</td> </tr> {%else%} <tr style="background-color:violet"> <td style="border:1px solid black;">{{ item }}</td> </tr> {% endif%} {% endfor %} </table> </body> </html>