二十一:jinja2之模板继承

Posted zhongyehai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二十一:jinja2之模板继承相关的知识,希望对你有一定的参考价值。

 

 

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

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

 

自己需要定义一个父模板

技术图片

技术图片

技术图片

技术图片

 

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

技术图片

技术图片

技术图片

 

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

技术图片

技术图片

 

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

技术图片

技术图片

技术图片

 

注意事项

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

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

 

以上是关于二十一:jinja2之模板继承的主要内容,如果未能解决你的问题,请参考以下文章

jinja2 模板继承示例不起作用

Flask之模板之宏继承包含

12. 爬虫训练场项目,jinja2 模板继承,项目继续迭代

无废话ExtJs 入门教程二十一[继承:Extend]

jinja2-模版继承

12. 爬虫训练场项目,jinja2 模板继承,项目继续迭代