相关疑难解决方法(0)

从扩展模板覆盖`include`d模板中的块

我有以下内容:

base.html文件

<html>
    {% include 'header.html' %}
    <div>
    {% block content %}Default Content{% endblock %}
    </div>
</html>
Run Code Online (Sandbox Code Playgroud)

了header.html

<header>
     {% block logo %}Logo 1{% endblock %}
</header>
Run Code Online (Sandbox Code Playgroud)

homepage.html

{% extend 'base.html' %}
{% block logo %}Logo 2{% endblock %}
{% block content %}Yap Yap Yap{% endblock %}
Run Code Online (Sandbox Code Playgroud)

从本质上讲,这不起作用.当我渲染homepage.html我得到:

<html>
    <header>Logo 1</header>
    <div>Yap Yap Yap</div>
</html>
Run Code Online (Sandbox Code Playgroud)

但如果我将代码header.html移入base.html(即include完全摆脱)它可以正常工作.任何人都可以解释为什么会这样吗?

我觉得它与included父母被渲染后渲染的模板有什么关系?

django django-templates

13
推荐指数
2
解决办法
4612
查看次数

标签 统计

django ×1

django-templates ×1