类似于django中模板的继承与导入
一:jinja2中使用extends
1:首先自定义一个home.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% block content %} # 这里是自定义的block模板
{% endblock %}
</body>
</html>
2:使用时自定义一个login.html文件
{% extends "home.html" %} #导入上一步定义的home.html文件
{% block content %} #重写block模板
<form>
用户名:<input type="text" name="user">
密码:<input type="text" name="pwd">
</form>
{% endblock %}
二:jinja2中使用 include
1:定义一个login.html文件
<form>
用户名:<input type="text" name="user">
密码:<input type="text" name="pwd">
</form>
2:定义一个index.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% include "login.html" %}
# include导入login.html文件
</body>
</html>
三 Jinja2模板语言中的宏定义 macro
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% macro type_text(name,type) %}
<input type="{{ type }}" name="{{ name }}" value="{{ name }}">
{% endmacro %}
<h2>在下方是使用宏来生成input标签</h2>
{{ type_text("one","text") }}
{{ type_text("two","text") }}
</body>
</html>