出现的原因
视图函数会生成请求的响应,当视图函数接受包含用户输入数据的用户请求后,视图函数需要访问数据库,添加新用户,然后在生成相应,有两个过程,业务逻辑和表现逻辑,使得代码难以理解,维护
为了提高程序的可维护性
将表现逻辑写入模板中,及将响应写入模板中
什么是模板
模板是包含响应文本的文件,其中占位变量表示动态部分,具体值根据上下文信息获得
渲染
用真实值代替占位变量,返回最终响应字符串,这一个过程是
flask用jinja2模板进行渲染模板
jinja2模板引擎
<h1>hello,world!</h1>
响应中含有使用变量表示的动态部分
<h1>hello,{{name}}</h1>
模板的渲染
flask在程序文件夹中的子文件夹templates中寻找模板
template中保存定义的模板,响应的模板
视图函数修改为
return render_template
(模板文件,占位变量=值)
return render_template(user.html,name = name )
左边的name表示模板中大的占位符,右边的name表示当前作用域中的变量,表示参数的值
render_template()函数将
jinja2模板引擎集成到程序中