一、宏的引用
上节介绍过将宏保存到单独的html文件中,并重复引用的语法:
{% import ‘macros.html’ as macros %}
{% for comment in comments %}
macros.render_comment(comment)
{% endfor %}
通过宏定义到文件中,可以实现在其他文件中的重复利用,而且把宏集中到一个文件也会方便后续代码的维护这是第一种重复引用的方法。
二、重复利用代码片段
将经常时使用的代码放到单独的common.html文件中,然后在其他文件中用以下语法引用:
{% include 'common.html'%}
common.html:
<h1>我是重复代码段</h1>
index.html:
<html>
<head>
<title>hello</title>
</head>
<body>
{% include 'common.html' %}
</body>
</html>
三、继承基类模板
html中也可以像C++等面向对象的语言一样存在继承机制,定义一个基类base.html:
<html>
<head>
{% block head %}
<title>
{% block title %}
{% endblock %} - Application
</title>
{% endblock %}
</head>
<body>
{% block body %}
{% endblock %}
</body>
</html>
在index.html中进行引用:
{% extends 'base.html' %}
{% block title %}
flask
{% endblock %}
{% block head %}
{{super()}}
{% endblock %}
{% block body %}
hello world
{% endblock %}
Github位置:
https://github.com/HymanLiuTS/flaskTs
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL11