Django-cms多重继承不起作用。
我有以下模板结构:
base.html
{% block content %}
{% endblock content %}
page1.html
{% extends "base.html" %}
{% block test %}
{% endblock test %}
page2.html
{% extends "page1.html" %}
{% block content %}
<div>foo</div>
{% endblock content %}
{% block test %}
<div>foo</div>
{% endblock test %}
问题是第2页HTML中的块测试没有呈现。仅渲染base.html中的块。如果我在base.html中包含块测试也会在第2页中呈现
答案 0 :(得分:1)
你的base.html是否包含{%block test%}?
您的基本模板必须包含您要覆盖的块。您可以在子模板中添加其他块,但它们必须包含在基本块中。
请参阅https://docs.djangoproject.com/en/dev/topics/templates/#template-inheritance
答案 1 :(得分:0)
base.html
是您的顶级模板。这通常是以html doctype
开头并以</html>
标记结尾的内容。其他一切都必须有一个地方去那里。你所拥有的只是一个content
块。
那么test
块会去哪里?您已尝试将其放入page1.html
,但仍需要在父模板中放置一个位置。