Файл шаблона не найден
Я пытаюсь открыть шаблон из...
Но файл шаблона не отображается, как показано ниже...
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
# 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
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