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>