包含

Jinja2模板中,除了宏和继承,还支持一种代码重用的功能,叫包含(Include)。它的功能相当于直接将另一个模板的内容直接copy进当前模板中。

包含(include)主要应用在一个模板内容太多的情况下,可以将其功能模块化分成多个模板,方便后期维护开发。

包含:

{% include 'top10.html' %}

包含在使用时,如果包含的模板文件不存在时,程序会抛出TemplateNotFound异常,可以加上ignore missing关键字。如果包含的模板文件不存在,会忽略这条include语句。

include的使用加上关键字ignore missing

{% include 'top10.html' ignore missing %}
  • 宏、继承、包含相同点:
    • 都可以实现代码的复用
  • 宏、继承、包含不同点:
    • 继承(Block)的本质是代码填充,一般用于多个页面有重复代码。
    • 宏(Macro)的功能类似函数,可以传入参数,需要定义、调用。
    • 包含(include)是本质是将其他模板代码直接复制过来,组成一个完整模板。
Iyoyo电子书 一本集作者多年开发经验的python电子书 all right reserved,powered by Gitbook文件修订时间: 2022年 10:58:08