可以从底部调用页眉和页脚吗?

时间:2019-09-26 09:21:34

标签: html css django

当前的困境是我希望base.html中的div位于home_page.html中,但我需要在页眉,主目录和页脚中使用它。

这是我的base.html

<div class="cover-container d-flex h-100 p-3 mx-auto flex-column">
    {# header #}

    {# /header #}
    {% block content %}{% endblock %}
    {# footer #}

    {# footer #}
</div>

这是我的主页的基础。

{% extends "../base.html" %}
{% load static %}
{% load wagtailcore_tags wagtailimages_tags %}
{% block body_class %}Home{% endblock %}
{% block extra_css %}
    {# Override this in templates to add extra stylesheets #}

{% endblock %}
{% block extra_js %}
    {# Override this in templates to add extra javascript #}

{% endblock %}
{% block content %} {#    html stuff sits in here#}
        <main role="main" class="inner cover">

{% endblock %}

有没有一种方法可以专门在homepage.html中调用页眉和页脚?

2 个答案:

答案 0 :(得分:1)

  

我只希望此div出现在主页上,而不是所有页面上

我假设您的意思是,您只希望该div具有主页的此特定类集,而不希望其他页面具有该类集(IOW,具有无类或其他类的div可以其他页面)。

在这种情况下,解决方案很简单:将div保留在原处,但是将div的类包装到它自己的块中(默认为-最终为空-值),并在主页中覆盖thsi块,即:

base.html:

<div class="{% block page-css-class %}{% endblock %}">
    {# header #}

    {# /header #}
    {% block content %}{% endblock %}
    {# footer #}

    {# footer #}
</div>

和home.html

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

{% block page-css-class %}cover-container d-flex h-100 p-3 mx-auto flex-column{% endblock %}

{# your remaining code here #}

答案 1 :(得分:0)

extends标签用于将您的父模板继承到子模板中。然后,它将在父模板中寻找block标签,并将其替换为子模板的值。
include标签会加载模板并使用当前上下文进行渲染。您可能想使用{% include "footer.html" with my_context_variable=value %}来传递其他上下文。您可以详细了解here

相关问题