使用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