为了更清楚地说明我的问题,我们假设我有一个包含内容的include.html模板:
{% block test_block %}This is include{% endblock %}
我有另一个名为parent.html的模板,内容如下:
This is parent
{% include "include.html" %}
现在我创建一个名为child.html的模板,它扩展了parent.html:
{% extends "parent.html" %}
{% block test_block %}This is child{% endblock %}
我的想法是,在渲染child.html时,child.html中的test_block可以覆盖include.html中的test_block。根据我的理解,当包含模板时,它将按原样包含在内。所以在我的情况下,我认为parent.html等于:
This is parent
{% block test_block %}This is include{% endblock %}
所以child.html应该能够覆盖test_block。但看起来它不能。为什么?有解决方法吗?