Django CMS 条件

Django CMS conditional

如何在 base.html 中使用 Django CMS 中的条件来检测页面是否为主页并向 body 标记添加唯一的 class?我宁愿不复制基础,只添加一个 class 这样我就可以在主页上以不同的方式处理一些样式。

这取决于您如何构建页面。

我选择将页面创建为 'home' 页面的 child,因此使用类似这样的页面标题;

{% 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.depth == 2 %}
            <h1>{{ ance.get_page_title }}</h1>
        {% endif %}
    {% endfor %}
{% endif %}

所以你可以做类似的事情;

<body class="{% if request.current_page.get_ancestors|length <= 1 %}base{% endif %}">