django中模板继承的extends和include

参考博客:https://blog.csdn.net/xujin0/article/details/83420633

总结:

    0. {% include "xxx"%}是将其他html代码段加入到当前html中,当前html中可能会有好多{% include "xxx"%}, include这部分不能重写;

  1. {% extends 'base.html' %}的意思时继承自base.html,这个里面有的代码继承之后的模板中全部都有。
  2. base.html中的{% block content %}是一个接口,我们可以以在继承的模板中间使用{% block content %}来改变里面的代码。
  3. 使用{% block content %}标签之后,父模板中{% block content %}标签中的代码都不会在子模板中显示出来。(就像上面base.html中的我是父摸版中的代码从来没有显示出来过。)
  4. 如果想要父模板中{% block content %}标签中的代码显示出来,则需要添加{{ block.super }}就能够显示了。
  5. 如果我们在子模板中将代码放在{% block content %}标签的外面,Django是不会给我们渲染的,即是没有效果的。
  6. {% extends 'base.html' %}标签必须是第一个标签,因此我们一般都是将 {% extends 'base.html' %}放在第一行。
  7. {% extend %}标签和{% include %}传参数是一样的,如果给子模板传递了一个参数,那么该子模板中的父模板能接收到参数,而其他子模板中不能接收到参数。

 

posted @ 2020-12-30 15:45  腹肌猿  阅读(368)  评论(0编辑  收藏  举报