二十一:jinja2之模板继承

模板继承可以把有共性的一些代码抽出来放到父模板中,其他需要次特性的文件继承模板即可

在jinja2中,使用extends来继承定义好的模板,使用{% block 位置名%} {% endblock %}来预留位置

自己需要定义一个父模板

其他html继承base模板即可拥有所有的模块

block继承的只是位置,默认不继承内容,如果要在指定模块中继承父模板的改模块下的内容,需使用super()方法

调用另一个block中的代码:可以通过{{ self.block名字() }}获取

注意事项

1、子模板需在第一行代码就继承父模板,否则继承代码之前的代码会失效

2、子模板中如果要实现自己的代码,需放到对应的block中,否则将不会渲染,即子模板响应渲染内容,只能把内容放到父模板预留的位置里面

原文地址:https://www.cnblogs.com/zhongyehai/p/11784765.html