Ответ 1
Пока приложения находятся в INSTALLED_APPS, а загрузчик шаблонов для приложений dirs включен, вы можете включить любой шаблон из другого приложения, то есть:
{% include "header.html" %}
... поскольку ваши шаблоны расположены непосредственно в директории шаблонов вашего приложения. Как правило, во избежание конфликтов имен лучше использовать:
app1/
templates/
app1/
page1.html
page2.html
app2/
templates/
app2/
page1.html
page2.html
И {% include "app1/page1.html" %}
или {% include "app2/page1.html" %}
...
Но: для поддержания последовательного внешнего вида гораздо лучше использовать наследование шаблонов, чем включение. Наследование шаблонов является одной из действительно хороших вещей системы шаблонов Django, выбирайте наследование над включением, когда это имеет смысл (большую часть времени).
Мои рекомендации:
- У вас есть базовый шаблон для вашего проекта ( "base.html" - это соглашение по умолчанию) с верхним и нижним колонтитулом и
{%block content%}
для вашего основного контента. - Попросите другие шаблоны наследовать форму base.html
{% extends "base.html" %}
и переопределить раздел содержимого
См. другой ответ на этот вопрос для ссылок на документ