无法在Django的子模板中包含模板

时间:2020-05-24 16:32:30

标签: html django

我有一个layout.html,我在其中设置项目的总体布局,然后为每个页面基于layout.html渲染不同的HTML

对于我的主页,我想要呈现一个向页面提供欢迎消息,精美图片等的滑块,我只希望将其显示在主页上。

我遇到的问题是,当II在我的{% include "slider.html" %}上有layout.html时,滑块呈现良好,但是当我将其移动到扩展了home.html的{​​{1}}时滑块不会呈现。

我该怎么做,以便仅在用户回家时才显示滑块?

layout.html

home.html

{% extends "layout.html" %} {% include "slider.html" %} {% block content %} <div class="container clearfix"> <div class="heading-block topmargin-lg center"> <h2>My super blog</h2> </div> </div> {% endblock %}

layout.html

{% load static %} <!DOCTYPE html> <html dir="ltr" lang="en-US"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="SemiColonWeb" /> <!-- Stylesheets ============================================= --> <link href="https://fonts.googleapis.com/css?family=Lato:300,400,400i,700|Raleway:300,400,500,600,700|Crete+Round:400i" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="{% static 'css/bootstrap.css' %}" type="text/css"/> <link rel="stylesheet" href="{% static 'css/style.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'css/swiper.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'css/dark.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'css/font-icons.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'css/animate.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'css/magnific-popup.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'css/style-rtl-vars.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'app/content/responsive.css' %}" type="text/css" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <!-- Document Title ============================================= --> <title>Super blog</title> </head> <body class="stretched"> <!-- Document Wrapper ============================================= --> <div id="wrapper" class="clearfix"> {% include "header.html" %} <section id="content"> <div class="content-wrap"> <div class="container clearfix"> {% block content %} {% endblock %} </div> </div> </section> {% include "footer.html" %} </div> <script type="text/javascript" src="{% static 'scripts/jquery.js' %}"></script> <script type="text/javascript" src="{% static 'scripts/plugins.js' %}"></script> <script type="text/javascript" src="{% static 'scripts/functions.js' %}"></script> </body>

slider.html

1 个答案:

答案 0 :(得分:2)

您需要将其包含在{% block %}中,因为否则,它当然不包含在最终内容中。

如果扩展模板,则只能覆盖块。不在块中的所有内容都将被解释,但不会放入最终响应中。

例如,您可以将{% include %}部分的内容包括在以下内容中:

{% extends "layout.html" %}

{% block content %}
{% include "slider.html" %}
    <div class="container clearfix">

        <div class="heading-block topmargin-lg center">
            <h2>My super blog</h2>
        </div>

    </div>
{% endblock  %}
相关问题