表达式和控制语句

表达式

  • 最常用的是变量,由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()
 
posted @ 2024-07-19 10:48  yongheng999  阅读(26)  评论(0)    收藏  举报