2

所以我有一个基本模板,其中包括一个标题:

base.html

{% include "header.html" %}

header.html

<ul>
     <li><a>Link</a></li>
     <li><a>Link</a></li>
     <li><a>Link</a></li>
</ul>
{% block diskspace %}Test{% endblock %}

然后我想diskspace从扩展基础的模板中覆盖块,例如:

专辑.html

{% extends "base.html" %}
{% block diskspace %}
<p>You need more space!</p>
{% endblock %}

然而不幸的是diskspace只包含“测试”并且没有被覆盖。

我正在尝试的是可能的,还是我需要走另一条路?

解决方案

根据下面sergzach的回答,这是我最终实现的:

header.html:

<ul>
     <li><a>Link</a></li>
     <li><a>Link</a></li>
     <li><a>Link</a></li>
</ul>
{% if show_diskspace %}
    <p>You need more space!</p>
{% endif %}

base.html

{% block header %}
    {% include "header.html" %}
{% endblock %}

专辑.html

{% extends "base.html" %}
{% block header %}
    {% include "header.html" with show_diskspace="True" %}
{% endblock %}
4

1 回答 1

2

header.html

    <ul>
         <li><a>Link</a></li>
         <li><a>Link</a></li>
         <li><a>Link</a></li>
    </ul>

{{diskspace}}

base.html

{% block header %}
    {% include "header.html" with diskspace='Test'%}
{% endblock %}

专辑.html

{% extends "base.html" %}
{% block header %}
    {% include "header.html" with diskspace='<p>You need more space!</p>'|safe %}
{% endblock %}
于 2013-03-20T08:41:54.380 回答