表达式和控制语句
表达式
- 最常用的是变量,由Flask渲染模板时传过来,比如name
- 也可以是任意一种Python基础类型,比如字符串{{stu_list}};或者数值,列表,元祖,字典,布尔值。
- 运算。包括算数运算,如{{ 2 + 3 }};比较运算,如{{ 2 > 1 }};逻辑运算,如{{ False and True }}
- 过滤器|和测试器is
- 函数调用,如{{ current_time() }};
- 数组下标操作,如{{ arr[1] }}
- in操作符,如{{ 1 in [1,2,3] }}
- 字符串连接符~,作用同Python中的 “+” 一样,如{{ "Hello " ~ name ~ "!" }}
- None值处理{{name or ""}
控制语句
Jinja2的控制语句主要就是条件控制语句if,和循环控制语句for,语法类似于Python if-else:




前端页面实现效果:

代码实现:
from flask import Flask,render_template
app = Flask(__name__)
student={
"name":"zhangsan ","age":17,"gender":"男",
}
student_list=[
{
"name":"zhangsan ","age":17,"gender":"男"},
{"name":"lisi ","age":25,"gender":"男"},
{"name":"wangwu ","age":69,"gender":"女"},
]
student_dict=[{
"aaa":{"name":"zhangsan ","age":17,"gender":"男"},
"bbb":{"name":"lisi ","age":25,"gender":"男"},
"ccc":{"name":"wangwu ","age":69,"gender":"女"}
}
]
@app.route('/test1')
def test1():
return render_template('1.html',**student)
@app.route('/test2')
def test2():
return render_template('2.html',stu_list=student_list)
@app.route('/test3')
def test3():
return render_template('2.html',stu_dict=student_dict)
if __name__ == '__main__':
app.run()

浙公网安备 33010602011771号