Django Footer и заголовок на каждой странице с {% extends}
Итак, я пытаюсь добавить нижний колонтитул и заголовок на каждой странице моего сайта. Я создал файл base.html, который содержит общий макет сайта.
На моей странице about.html я сделал:
{% extends "public/base.html" %}
<h1>Content goes here</h1>
Я могу видеть свой верхний и нижний колонтитул, но как показать содержимое. Я хочу напечатать материал на этой странице about.html. Содержание здесь не отображается в середине.
Ответы
Ответ 1
Вам нужно определить блок в base.html и заполнить его в about.html.
base.html:
<header>...</header>
{% block content %}{% endblock %}
<footer>...</footer>
about.html
{% extends "public/base.html" %}
{% block content %}
<h1>Content goes here</h1>
{% endblock %}
Все это полностью объяснено в учебнике.
Ответ 2
{% extends "public/base.html" %}
{% block content %}
<h1>Content goes here</h1>
{% endblock %}
Или просто создайте about.html
и включите его в свой основной html.
Пример:
{% extends "public/base.html" %}
{% block content %}
"Your code"
{% include "core/about.html" %}
{% endblock %}
Ответ 3
Скажем, ваш base.html выглядит так:
<html>
<body>
<!-- header code -->
{% block content %}
{% endblock %}
<!-- footer code -->
</body>
<html>
Затем в другом файле вы сделаете следующее:
{% extends "base.html" %}
{% block content %}
<!-- Content here -->
{% endblock %}
Все, что помещено внутри тега body (тега) шаблона (расширенного файла), будет перезаписано материалом в содержимом дочернего файла, но что-либо вне этого тега будет расширено или скопировано в него.
Вот документы в блочном теге