Удаление div только на одной странице в шаблоне Django

У меня есть сайт, который содержит 15 отдельных страниц. На каждой странице у меня есть div с именем header. Я знаю, что удаляю этот элемент с помощью JavaScript следующим образом:

homepage.html

<script>
    const element = document.getElementById('header');
    element.remove();
</script>

Проблема в том, что я вижу элемент заголовка в течение секунды, прежде чем он удаляется. Скрипт размещается в верхней части страницы. Я также пытался сделать это с помощью css следующим образом:

.header {
    height: 0rem !important;
    visibility: hidden !important;
}

Однако я все еще вижу, что элемент исчезает при обновлении страницы.

Я знаю, что могу создать блок шаблона в файле base.html и просто исключить его на странице homepage.html, но мне нужно будет включить его в остальные 14 HTML-файлов вручную.

Вопрос Есть ли другой/лучший способ исключить div, чтобы я вообще не видел его на моей домашней странице?

с помощью css

.header {
    display:none;
}

Система шаблонов Django дает вам огромную гибкость в манипулировании любым содержимым в любом представлении, как только вы поймете, как работает тег {% block %}, особенно в отношении расширенных (дочерних) шаблонов.

В вашем случае, что вы можете сделать, это обернуть ваш заголовок html в base.html следующим образом:

{% block my_header %}
<div class="header"></div>
{% endblock header %}

Теперь, в homepage.html вы просто добавляете это (предполагая, что он расширяет base.html):

{% extends "base.html" %}
...
{% block my_header %}{% endblock header %}

Этим куском кода вы говорите Django перезаписать блок заголовка ничем. Я также рекомендую ознакомиться с {{ block.super }}.

Вернуться на верх