【发布时间】:2019-10-19 18:32:43
【问题描述】:
我试图弄清楚 Django 在呈现 html 模板时如何处理操作顺序。
以我要回答的问题为例。
我有一个基本模板,其中“{% includes %}”是一段代码,其中包含“{% block %}”语句。
此基本模板在“{% extends %}”中使用,并且“{% block %}”语句在此子模板中被覆盖。
common.html
<div>
{% block content %}{% endblock %}
</div>
base.html
{% include common.html %}
child.html
{% extends 'base.html'%}
{% block content %}
..... some code
{% endblock %}
从我的测试来看,这个块并没有像我预期的那样被覆盖,是我做错了什么还是这取决于 Django 模板解析中的操作顺序。
【问题讨论】:
-
你应该创建一个minimal reproducible example 来展示你的问题
-
添加了一个示例,我知道在这种简单的情况下这并不是真正需要的,但是对于生产站点,我试图将 html 分解为可管理的小代码部分,并尝试遵循单一职责校长