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>