Django: Имя проекта дублируется в пути к шаблону

Структура моего проекта примерно следующая:

dinnerproject/
  dinnerproject/
    settings.py
  dinners/
    templates/dinners/
      main.html
  templates/
    base.html
  manage.py
  

В settings.py я настроил TEMPLATE следующим образом:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        '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',
            ],
        },
    },
]

И приложение dinners добавлено в INSTALLED_APPS.

Я использую TemplateView с template_name = "main.html", который расширяет base.html.

Но когда я пытаюсь открыть страницу, которая должна вернуть main.html, я продолжаю получать ошибку TemplateDoesNotExist, говорящую:

Template-loader postmortem

Django tried loading these templates, in this order:

Using engine django:

    django.template.loaders.filesystem.Loader: C:\Users\User\dinnerproject\dinnerproject\templates\main.html (Source does not exist)
    (...)
    django.template.loaders.app_directories.Loader: C:\Users\User\dinnerproject\dinnerproject\dinners\templates\main.html (Source does not exist)

По какой-то причине имя моего проекта дублируется в путях, поэтому django не может найти нужные каталоги. Что я делаю не так?

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'dinnerproject','templates'),
                 os.path.join(BASE_DIR,'dinners','templates'),
                ],
        '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',
            ],
        },
    },
]

urls.py:

app_name="your app name"

Это решит вашу ошибку

Вернуться на верх