使用Jinja2,是否需要在所有其他模板擴展的基本模板中定義所有塊?例如,給出下面的模板:Jinja2模板繼承
<-- ultra_base.j2 -->
<head>
</head>
<body>
{% block content %}{% endblock %}
{% block extra_js %} {% endblock %}
</body>
和
<-- child.j2 -->
{% extends ultra_base %}
{% block extra_js %}
<script src="somefile.js">
{% endblock %}
{% block page_js %} {% endblock %}
和
<-- grandchild.j2 -->
{% extends child %}
{% block content %}
<h2> Grandchild Content </h2>
{% endblock content %}
{% block page_js %}
<script src="grandchild.js"></script>
{% endblock page_js %}
的page_js
塊永遠不會呈現。有沒有辦法在不改變ultra_base
的情況下渲染它?
耐人尋味.... – reptilicus
我認爲這保留了您之後的內容順序? – gtlambert
是的,我認爲是。我只是試圖避免更改ultra_base模板,其實是在另一個回購。 – reptilicus