这个问题与this one有点类似,只有一个小改动 -
我在parent.html中有块标记,有些填充在调用模板中,其他一些填充在包含的模板中。包含的不起作用。例如:
#parent.html
<head>{% block head %}Parent head {% endblock %} </head>
<body> {% block body %} Parent body {% endblock %}
</body>
#include.html
{%block body %} Child body {% endblock %}
#child.html
{% extends 'parent.html' %}
{% block head %}
Child head
{% endblock %}
{% include 'include.html' %}
但这给出了输出: 孩子头 家长
所需的intsead:
孩子头 儿童身体
有任何变通方法吗?
答案 0 :(得分:3)
这:
{% include 'include.html' %}
不包含在任何块中,并且不会呈现,正如您在回复中看到的那样。
以这种方式修改您的child.html:
#child.html
{% extends 'parent.html' %}
{% block head %}
Child head
{% endblock %}
{% block body %}
{% include 'include.html' %}
{% endblock %}
如果你想在child.html和include.html中定义一些html,那么你应该有:
#child.html
{% extends 'parent.html' %}
....
{% block body %}
{% include 'include.html' %}
some child html...
{% endblock %}
和include.html:
{% block body %}
{{ block.super }}
some include html...
{% endblock %}
这将呈现:
some child html
some include html