Пока приложения находятся в INSTALLED_APPS и включен загрузчик шаблонов для папок приложений, вы можете включить любой шаблон из другого приложения, например ::100100
{% 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" %}
и переопределяют раздел содержимого
См. Другой ответ на этот вопрос для ссылок на документ