我有一个基本模板,我想分为三个部分:页眉,正文,页脚。然后,我使用基本模板包括三个子模板。但是,从我所看到的情况来看,这意味着我无法覆盖{{block}}内容。那么使用包含一个坏主意吗?还是有一种方法可以覆盖包含的模板中的块内容?
我知道您可以将静态上下文变量发送到所包含的段,但是它需要更加动态。
我的代码:
在header.html中
<html>
<head>
<script url="..."></script>
<link rel="..." />
{% block head_extension %}
{% endblock %}
</head>
<body>
<header>
<div class="headerstuff">
</div>
</header>
然后在body.html文件中:
<div class="container">
{% block content %}
Foo fum my content
{% endblock %}
</div>
footer.html:
<footer>
{% block footer %}
Copyright 2015
{% endblock %}
</footer>
</body>
</html>
base.html:
{% include "header.html" %}
{% include "body.html" %}
{% include "footer.html" %}
<!-- and the part that doesn't work -->
{% block head_extension %}
<script src="unique_script"></script>
{% endblock %}
{% block content %}
My unique content
{% endblock %}
{% block footer %}
Copyright 2011
{% endblock %}
<!-- end broken django templating try -->
难道我做错了什么?模板文档似乎表明我尝试执行的操作不起作用。看来这将是创建易于阅读的模板的最佳方法。将所有部分都放在一个大文件中会更好吗?您可以想象,页眉,正文和页脚元素比此示例要大得多。但是重点仍然存在。
我希望有一种方法可以做我不知道的事情。
Smart猫小萌
相关分类