Ответ 1
включить тег шаблона
Вы можете включать шаблоны с аргументами:
{% include "name_snippet.html" with person="Jane" greeting="Hello" %}
Наследование шаблонов
Но лучший способ повторить блок во всех шаблонах - это иметь базовый шаблон say base.html:
<html>
...
<div id="user-block">
{% if request.user.is_authenticated %}
hello {{ request.user }}
{% else %}
<a href="{% url acct_signup %}">Sign up!</a>
{% endif %}
</div>
...
<div id="body">
{% block body %}
{% endblock %}
</div>
...
</html>
Например, шаблон контакта может быть таким же простым, как:
{% extends 'base.html' %}
{% block body %}
Contact use: [email protected]
{% endblock %}
Подробнее см. документацию по наследованию шаблонов.
inclusion_tag
Наконец, еще один отличный вариант - сделать include_tag, что позволяет перехватывать обработку контекста python до фактического включения шаблона.