使用{%extends}

时间:2015-07-16 14:06:51

标签: html css django

所以我正在尝试在我网站的每个页面上添加页脚和页眉。我制作了一个base.html文件,其中包含网站的总体布局。

在我的about.html页面中,我做了:

{% extends "public/base.html" %}

<h1>Content goes here</h1>

我可以看到我的页眉和页脚,但是如何显示内容。我想在about.html页面中输入内容。这里的内容没有显示在中间。

3 个答案:

答案 0 :(得分:29)

您需要在base.html中定义一个块并在about.html中填充它。

base.html文件:

<header>...</header>
{% block content %}{% endblock %}
<footer>...</footer>

about.html

{% extends "public/base.html" %}

{% block content %}
<h1>Content goes here</h1>
{% endblock %}

本教程中对此进行了全面解释。

答案 1 :(得分:9)

Except

或者只需创建{% extends "public/base.html" %} {% block content %} <h1>Content goes here</h1> {% endblock %} 并将其包含在主html中的所需位置。

示例:

about.html

答案 2 :(得分:2)

假设你的base.html看起来像这样:

<html>
    <body>
        <!-- header code -->
        {% block content %}
        {% endblock %}
        <!-- footer code -->
    </body>
<html>

然后在你的另一个文件中你会这样做:

{% extends "base.html" %}
{% block content %}
    <!-- Content here -->
{% endblock %}

放置在模板(扩展文件)正文标记内的任何内容都会被子文件内容中的内容覆盖,但该标记之外的任何内容都会被扩展或复制到其中。

以下是the docs on the block tag