Устранение ошибки TemplateDoesNotExist в Django, несмотря на правильную конфигурацию

Я относительно новичок в Django и столкнулся с проблемой загрузки шаблонов в моем проекте. Несмотря на то, что я следую учебникам и правильно настраиваю структуру проекта, я сталкиваюсь с ошибкой TemplateDoesNotExist.

Вот структура моего проекта:


storefront\__pycache__
storefront\storefront\__init__.py
storefront\storefront\asgi.py
storefront\storefront\settings.py
storefront\storefront\urls.py
storefront\storefront\wsgi.py

playground
playground\__pycache__
playground\migrations
playground\templates
playground\__init__.py
playground\admin.py
playground\apps.py
playground\models.py
playground\tests.py
playground\urls.py
playground\views.py
db.sqlite3
manage.py

В моем файле settings.py конфигурация шаблона выглядит следующим образом:

python


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',
            ],
        },
    },
]

Однако при попытке отрисовки шаблона с помощью функции render в моем представлении:


#python

from django.shortcuts import render

def say_hello(request):
    return render(request, 'playground/hello.html')

Я сталкиваюсь с ошибкой TemplateDoesNotExist для playground/hello.html. Я проверил структуру проекта, и она кажется правильной.

Может ли кто-нибудь подсказать, что может быть причиной этой проблемы и как ее решить? Любые объяснения или предложения для новичков были бы очень признательны!

Шаблон должен быть помещен в:

playground/templates/playground/hello.html

или в любом другом каталоге шаблонов, но при этом с подкаталогом playground под этим каталогом templates/.

Таким образом, имя приложения повторяется. Это позволяет переопределять шаблоны из разных приложений. Например, если вы хотите переопределить шаблоны admin, вы можете поместить шаблон в playground с именем playground/templates/admin/some_template.html, чтобы переопределить some_template.html из приложения admin.

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