jinja2模板引擎
模板
-
模板其实是一个包含响应文本的文件,其中用占位符(变量)表示动态部分,告诉模板引擎其具体的值需要从使用的数据中获取
-
使用真实值替换变量,再返回最终得到的字符串,这个过程称为“渲染
-
Flask是使用Jinja2这个模板引擎来渲染模板
使用模板的好处
- 视图函数只负责业务逻辑和数据处理(业务逻辑方面)
- 而模板则取到视图函数的数据结果进行展示(视图展示方面)
- 代码结构清晰,耦合度低
两个概念
-
Jinjia2:是python下一个被广泛应用的模板引擎,是由python实现的模板语言,他的实际思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能,其是Flask内置的模板语言
-
模板语言:是一种被设计来自动生成文档的简单文本格式,在模板语言中,一般都会把一些变量传给模板替换模板的特定位置上预先定义好的占位变量名
渲染模板函数
- Flask提供的render_template函数封装了该模板引擎
- render_template函数的第一个参数是模板的文件名,后面的参数都是键值对,表示模板中变量对应的真实值
模板的使用
1、在视图函数中设置渲染模板
@app.route("/")
def index():
return render_template("/index.html")
2、在项目下创建templates文件夹,用于存放所有的模板文件,并在目录下创建一个模板html文件index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
我的模板html内容
</body>
</html>
3、{ {}}来表示变量名,这种{ {}}语法叫做变量代码块
@index_blu.route("/test/")
def test():
name