12.3 jinja2模板
jinja2是集成到python的前端的框架,结合Flask使用。
它的模式是这样的:
1.Flask提供数据并绑定URL模式和HTML模板
2.JINJA2负责把HTML模板和数据融合到一起生产HTML页面呈现
例如下面的例子,修改前面Flask项目的app.py的代码:
@app .route('/')def hello_world(): h = "hello world" return render_template("index.html", hello=h)
第4行代码是把地址localhost:5000/这个网址匹配index.html的意思,然后还有一个参数hello,值是h
而index.html实际上是一个模板:
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title> </title> </head> <body> {{hello}} </body></html>
注意第9行代码。
启动后运行:
这里的hello world这两个词,就是app.py里面的hello_world函数提供的。
如果有条件或者循环显示,那么代码是这样的: