TemplateDoesNotExist django python

Ошибка

*TemplateDoesNotExist at /money/
../orders/templates/related/_related_submenu.html*

Template-loader postmortem
Django tried loading these templates, in this order:

Using engine django:

This engine did not provide a list of tried templates.

html money/templates/include/some.html

{% include '../orders/templates/related/_related_submenu.html' %}>

есть приложение money и в нем надо импортировать шаблон из другого приложения orders. Как объяснить приложению money, что надо брать шаблон за пределами приложения?


Ответы (1 шт):

Автор решения: Za Ars

Django ищет шаблоны во всех <app>/templates и просто templates директориях. Если по какой то причине это не так, то фиксите настройки на те, которые вам нужны

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],  # Пути к папкам с шаблонами вне приложений
        'APP_DIRS': True,  # Искать в приложениях
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Источник , хотя можно найти и на официальной документации.

Это вам не php с его include'ами.

Путь к шаблону указывается относительно templates-папки, т.е. если хотите подключить шаблон my_app => templates => my_app => my_model => detail.html то НЕ ЗАВИСИМО ОТ ПРИЛОЖЕНИЯ И ШАБЛОНА в котором будете использовать этот шаблон, пишите {% include 'my_app/my_model/detail.html' %}. Никаких ../

→ Ссылка