Файл шаблона не найден

Я пытаюсь открыть шаблон из...

enter image description here

Но файл шаблона не отображается, как показано ниже...

enter image description here

from django.http import HttpResponse
from django.shortcuts import render


# Create your views here.
def index(request):
    return render(request, "home/index.html")

Странно то, что моя веб-страница все еще работает, а когда я удаляю эту функцию, она не работает.

Вот некоторая дополнительная информация...

settinbgs.py

enter image description here

# Application definition

INSTALLED_APPS = [
    'project_long_page',
    'about',
    'home',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

home/urls.py

enter image description here

from django.urls import path
from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

Ваша папка templates должна находиться в папке home вашего приложения (в разделе about), иначе Django не найдет ее. Посмотрите https://django-project-skeleton.readthedocs.io/en/latest/structure.html для правильной структуры файлов. Думаю, то же самое можно сказать и о других папках в вашей папке templates. Вы можете иметь папку templates в корне, но я не думаю, что это то, что вам нужно в вашем случае.

Чтобы создать глобальный шаблон, вы можете иметь папку template в корневом каталоге 'testWebsite', как у вас уже есть. Затем в файле settings.py сделайте следующее:

# settings.py

TEMPLATES = [
    {
        ...
        'DIRS': [str(BASE_DIR.joinpath('templates'))],
        ...
    },
]

Обычно я создаю файл base.html в каждом приложении, затем в каждой html-странице внутри приложения вы можете добавить строку типа {% extends "home/base.html" %}. И в каждом из файлов base.html добавьте {% extends "base.html" %}

Что-то вроде этого (я не включил все файлы, только образец):

testWebsite
├── about
│   └── templates
│       └── about
│           ├── base.html
│           └── about.html
├── home
│   └── templates
│       └── home
│           ├── base.html
│           ├── greet.html
│           └── index.html
├── project_long_page
│   └── templates
│       └── project_long_page
│           ├── base.html
│           └── project_long_page.html
├── templates
│   └── base.html
└── testWebsite
    └── settings.py
Вернуться на верх