当前的困境是我希望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中调用页眉和页脚?
答案 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。