Использование тега шаблона extends
указывает Django заполнять блоки в родительском шаблоне содержимым блока, определенным только в используемом дочернем шаблоне!
Когда вы заполняете только *Блок 1006 * в вашем exercice_list.html , тогда при вызове представления exercice_list
будет заполнен только блок content
base.html .Это потому, что django не ищет, какие другие шаблоны могут расширять родительский шаблон, поэтому его не волнует, что где-то есть footer.html , который также расширяет его.Если вы хотите, чтобы содержимое из footer.html включалось при вызове представления exercice_list
, вам необходимо добавить его либо в base.html , либо в exercice_list.html .
Совершенно нормально хранить нижний колонтитул в отдельном шаблоне, но его необходимо добавить также в виде блока в exercice_list.html :
{% extends 'exercise_tracker/base.html' %}
{% block content %}
<table>
{% for exercise in exercises %}
<tr>
<td>{{ exercise.date_learned }}</td>
<td>{{ exercise.time_studied }}</td>
<td>{{ exercise.language_learned }}</td>
<td>{{ exercise.description|linebreaksbr }}</td>
</tr>
{% endfor %}
</table>
{% endblock %}
{% block footer %}
{% include "footer.html" %}
{% endblock %}
И ваш footer.html может выглядеть следующим образом:
<p>Footer</p>
Если вы хотите больше прочитать об этом, ТАК вопрос на include
и extend
- хорошая отправная точка: шаблоны django: включайте и расширяйте Или затем превосходные документы django о наследовании шаблонов .
Надеюсь, чтопомогло и счастливого кодирования!