Как уже упоминалось в других ответах, самый простой подход - это прямое включение:
{% include 'mytemplate.html' %}
Можно изменить контекст отображаемого шаблона (или, проще говоря, передать переменные в шаблон), используя
{% include 'mytemplate.html' with poll=poll %}
Чтобы использовать пример традиционного опроса, шаблон, который я бы написал, был бы:
<div class="stylish-poll">
{% for choice in poll.choices %} <!-- poll is a template variable -->
{% include 'choice_template.html' with choice=choice %}
{% endfor %}
</div>
Другая потенциально полезная вещь, которую нужно знать, это то, что ключевое слово only
предотвращает передачу переменной шаблона poll
в 'choice_template.html'
, что было бы по умолчанию. Если вы не хотите, чтобы шаблон выбора имел доступ к {{ poll }}
, то оператор включения выглядит следующим образом:
{% include 'choice_template.html' with choice=choice only %}
Документация: https://docs.djangoproject.com/en/dev/ref/templates/builtins/#include