为了更清楚地说明我的问题,假设我有一个包含内容的 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中的那个。据我了解,当包含模板时,它会按原样包含在内。所以就我而言,我认为 parent.html 等于:
This is parent
{% block test_block %}This is include{% endblock %}
所以 child.html 应该能够覆盖 test_block。但是好像不能。为什么?有解决方法吗?