Django模板继承

时间:2017-10-31 11:40:51

标签: django django-templates

例如:

base.html文件

<body>
    {% block content}
    {% endblock %}
</body>

base_index.html

{% extends 'base.html' %}
{% block content %}
    something
{% endblock %}

# add new block "for_child" to fill in with next inheritance
<h1>Name:
{% block for_child %}
{% endblock %}</h1>

base_index_child.html

{% extends 'base_index.html' %}

{% block for_child %}
    Peter
{% endblock %}

结果base_index_child.html:

<body>
    something
</body>

但我想要(base.html - &gt; base_index.html - &gt; base_index_child.html)

<body>
    something
    <h1>Name: Peter</h1>
</body>

如何获得这个?

更新(回答)

添加块必须在块

base_index.html

{% extends 'base.html' %}
{% block content %}

    something

    <h1>Name:
    {% block for_child %} # block must be inside the block
    {% endblock %}</h1>

{% endblock %}

1 个答案:

答案 0 :(得分:1)

This post几乎就是你所要求的。

所以这会解决它:

base_index.html

A