Django 模板能否在{%if%}和{%else%}场景中保存块
我有一个定义了条件标头的基本模板:Django 模板能否在{%if%}和{%else%}场景中保存块,django,django-templates,django-cms,Django,Django Templates,Django Cms,我有一个定义了条件标头的基本模板: {% if blah %} <h1>Title 1</h1> {% else %} <h1>Title 2</h1> {% endif %} 编辑 基本模板的完整代码 扩展模板的完整代码 这个功能需求的原因是,在django cms中,我创建了一个页面,并将我的应用程序挂接到该页面。在这个阶段,{{request.current_page.get_page_title}将返回我创建的django
{% if blah %}
<h1>Title 1</h1>
{% else %}
<h1>Title 2</h1>
{% endif %}
编辑
基本模板的完整代码
扩展模板的完整代码
这个功能需求的原因是,在django cms中,我创建了一个页面,并将我的应用程序挂接到该页面。在这个阶段,{{request.current_page.get_page_title}
将返回我创建的django cms页面的标题
如果您在该页面上执行了某些操作,使挂接的应用程序将您发送到另一个视图/模板,那么实际上您不会在django cms中更改页面,因此get\u page\u title
仍然是相同的,但是您现在呈现的模板几乎总是具有不同的标题
显然,您可以将新页面标题作为
或其他内容包含,并将其置于基本内容.html
中的
下,但基本标题通常对该级别的所需页面内容是多余的。如果您只有一个这样的标题栏,然后,可以在扩展样板中使用普通块标记来替代标题
<div class="wrapper">
{% block title %}
{% if request.current_page.get_ancestors|length <= 1 %}
<h1>{{ request.current_page.get_page_title }}</h1>
{% else %}
{% for ance in request.current_page.get_ancestors %}
{% if ance.level == 1 %}
<h1>{{ ance.get_page_title }}</h1>
{% endif %}
{% endfor %}
{% endif %}
{% endblock title %}
</div>
{%block title%}
{%if request.current_page.get| length我在模板中添加了两个pastebin链接。正如您所见,基本模板根据页面属性以两种不同的方式呈现页面。我认为一个块都不适合我所寻找的内容。
<div class="wrapper">
{% block title %}
{% if request.current_page.get_ancestors|length <= 1 %}
<h1>{{ request.current_page.get_page_title }}</h1>
{% else %}
{% for ance in request.current_page.get_ancestors %}
{% if ance.level == 1 %}
<h1>{{ ance.get_page_title }}</h1>
{% endif %}
{% endfor %}
{% endif %}
{% endblock title %}
</div>