一)作用与代码示例
Jinja2是模板渲染引擎,是Flask框架2大核心组件之一,主要作用是将业务逻辑与表现分离,使视图函数聚焦业务逻辑,而将响应内容交给模板引擎进行组装与表现,从而使代码更简介、易维护。
要使用Jinja2非常简单,只需引入render_template函数并作为试图函数的返回内容:
函数引入: from flask import render_template
函数使用:return render_template('template.html', name1=value1, name2=value2...)
注释:
1. 第1个参数传递模板文件名称,默认从templates目录中查找文件;
2. 后面传递关键字参数,将参数的值用以作为模板文件中参数名占位的变量值;
二)模板占位变量语法及结构控制
普通变量
<span> here is the grammer of common variable {{ var_name }} </span>
注释:
以双大括号将变量名括起来,即表示该处内容是动态生成的,其可接受所有python类型的变量,如列表,字典,函数等,eg. {{ myobj.somemethod() }}, {{ my_dict['key'] }}
结构控制
a. 条件控制
b. 循环控制
c. 宏定义
d. 模板继承