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「Test」のみが含まれており、オーバーライドされていません。

私が試みていることは可能ですか、それとも別のルートに進む必要がありますか?

解決

以下の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 に答える