假设我有以下三个 HTML 模板文件。HTML 内容很简单,只是为了阐述观点。
是否可能在名为 extra_head_content 的块内嵌套名为 extra_head_content 的块。想法是允许第三级模板提供名为 extra_head_content 的块。它上面的模板接受该内容,将其添加到其名为 extra_head_content 的块中,并将此组合块提供给其父模板。
基本上,我正在寻找跨继承模板文件进行块嵌套的方法。
我要解决的确切情况是,任何模板都应该能够向 head 元素添加额外的 JavaScript 或 CSS 文件。但是,最低级别的模板不应关心它嵌套了多少级。同样,中间模板提供的额外头部内容不应被终端模板的块元素覆盖。
base.html
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/css/reset.css" />
{% block extra_head_content %}{% endblock %}
</head>
<body>{% block content %}{% endblock %}
</html>
账户.html
{% extends "base.html" %}
{% block extra_head_content %}
<link rel="stylesheet" type="text/css" href="/static/css/account.css" />
{% block extra_head_content %}{% endblock %}
{% endblock %}
{% block content %}
<div id="menu">...</div>
{% block account_content %}{% endblock %}
{% endblock %}
账户个人资料.html
{% extends "account.html" %}
{% block extra_head_content %}
<link rel="stylesheet" type="text/css" href="/static/css/edit_profile.css" />
{% endblock %}
{% block account_content %}
Welcome to your profile
{% endblock %}