3

这个问题有点类似于这个问题除了一个小变化 -

我在 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' %}

但这给出了输出:子头父体

所需的中间件:

儿童头部 儿童身体

任何解决方法?

4

1 回答 1

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
于 2012-07-07T17:39:25.067 回答