Flask jinjia2: # {{ }}引用變數資料,執行函式 # {%%}邏輯程式碼
阿新 • • 發佈:2020-12-11
from flask import Flask,render_template STUDENT={'name':'Old','age':38,'gender':'中'} STUDENT_LIST=[ {'name':'Old','age':38,'gender':'中'}, {'name':'Boy','age':73,'gender':'男'}, {'name':'EDU','age':84,'gender':'女'} ] STUDENT_DICT={1:{'name': 'Old', 'age': 38, 'gender': '中'}, 2:{'name': 'Boy', 'age': 73, 'gender': '男'}, 3:{'name': 'EDU', 'age': 84, 'gender': '女'} } app = Flask(__name__) app.debug=True @app.template_global() #加了這個後,可以在render_template中不需要傳func_ab=ab def ab(a,b):return a+b # jinjia2: # {{ }}引用變數資料,執行函式 # {%%}邏輯程式碼 #檢視STUDENT 放在studentinfo頁面 @app.route("/stu") def stu(): # return render_template('studentinfo.html',func_ab=ab,stu_info=STUDENT,stu_list=STUDENT_LIST,stu_dict=STUDENT_DICT) #stu_info這個命名隨便命名。後端將資料給了stu_info這個變數。 #--> html中引用使用{{stu_info}}就可以把後端的資料傳給前端進行展示。func_ab將檢視函式傳給html檔案,可以支援傳多個,所有函式都要在render_template#-->中傳函式名。怎麼可以避免寫一次其他的都可以用. return render_template('studentinfo.html',stu_info=STUDENT,stu_list=STUDENT_LIST,stu_dict=STUDENT_DICT) #stu_info這個命名隨便命名。後端將資料給了stu_info這個變數。 #在html檔案中直接使用函式名就可以了 if __name__ == '__main__': app.run('127.0.0.1',9090)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>學生資訊</title> </head> <body> {{ stu_info }} <table border="1px"> <tr> <td>name</td> <td>age</td> <td>gender</td> </tr> <tr> <td>{{ stu_info.name }}</td> <td>{{ stu_info.get('age') }}</td> <td>{{ stu_info['gender'] }}</td> </tr> </table> {{ stu_list }} <table border="1px"> <tr> <td>name</td> <td>age</td> <td>gender</td> </tr> {% for stu in stu_list %} <tr> <td>{{ stu.name }}</td> <td>{{ stu.get('age') }}</td> <td>{%if stu["gender"]!="男" and stu["gender"]!="女"%} 二哈 {% else %} {{ stu['gender'] }} {% endif %} </td> </tr> {% endfor %} </table> {# {{ stu_dict }}#} {# {% for dic in stu_dict %}#} {# {{ dic }}#} {# {{ stu_dict[dic] }}#} {# {{ stu_dict[dic].name }}#} {# {{ stu_dict[dic].get("age") }}#} {# {{ stu_dict[dic]["gender"] }}#} {##} {# {% endfor %}#} <table border="1px"> {{ stu_dict }} {% for foo,item in stu_dict.items() %} <tr> <td>{{ item["name"] }}</td> <td>{{ item["age"] }}</td> <td>{%if item["gender"]!="男" and item["gender"]!="女"%} 二哈 {% else %} {{ item['gender'] }} {% endif %} </td> </tr> {# {{ item["name"] }}#} {# {{ item["age"] }}#} {# {{ item["gender"] }}#} {% endfor %} </table> <p>{{ ab(22,222) }}</p> <p>{{ ab(333,33333) }}</p> </body> </html>