本篇博客我们将前端模板的通用部分进行抽离,便于整理管理,使用的是 jinja2 中模板继承相关技术。
Flask 模板引擎
flask 为了实现模板代码的宠用,jiaja2 提供了块(Block)和宏(Macro)来提高代码的继承和复用性。
块(Block)
:用于精简代码,可以通过继承 (extend)复用代码;宏(Macro)
:使用宏提高模板复用性,减少复杂度。
让我们先从块说起。
块(Block)
使用块功能,基本逻辑是在模板文件中先声明一个 {% block block_name %}
和 {% endblock %}
的占位语句块,然后在继承的文件中,使用相同的语句块,此时子模板就会替换父模板中相应的语句块。
使用的时候需要注意两个要点。
- 模板不支持多继承,子模板中定义的块,不能同时替换两个父模板中的块;
- 模板中