模板继承语法:
使用extends
语句,来指明继承的父模板。父模板的路径,也是相对于templates
文件夹下的绝对路径。
{% extends “base.html”%}
block语法:
一般在父模板中,定义一些公共的代码,子模版可能要根据具体的需求实现不同的代码。这时候父模板就应该有能力提供一个接口,让父模板来实现,从而实现具体业务需求的功能。
在父模板中:
{% block block's name%}
{% endblock %}
在子模板中:
{% block block's name%}
子模版中的代码
{% endblock %}
调用父模板代码block中的代码:
默认情况下,子模版如果实现了父模板定义的block,那么子模版block中的代码就会覆盖掉父模板中的代码。如果想要在子模版中仍用父模板中的代码,那么可以使用{{super()}}
来实现。
父模板:
{% block body_block %}
<p style="background: antiquewhite;">这是父模板中的代码</p>
{% endblock %}
{% block body_block %}
{{ super() }}
<p style="background:red;">这是子模板中的代码</p>
{% endblock %}
调用另外一个block中的代码:
如果想要在另外一个模板中使用其他模板中的代码,那么可以通过{{ self.其他block名字()}}
就可以了。