Как загрузить локальный каталог в путь в urls.py
Я сохранил файл homepage.html в своем ноутбуке смотрите это изображение D:\Python\WebDjango\BaseCoffeehouse\coffeehouse\templates.
Затем в urls.py (открыть в VSCode) я добавил путь, как показано ниже :
path('D:/Python/WebDjango/BaseCoffeehouse/coffeehouse/templates',
TemplateView.as_view(template_name='homepage.html'), name='homepage'),
Когда я запускаю сервер (python manage.py runserver), я получаю сообщение об ошибке "Страница не найдена 404" на порту по умолчанию 8000.
Итак, как я должен сделать это, чтобы открыть файл homepage.html?
Пара заметок:
1.)
Похоже, что вы поместили свою папку templates
внутрь dir корневого приложения. Убедитесь, что папка templates
находится в той же иерархии, что и manage.py, чтобы стандартная маршрутизация шаблонов Django работала:
# settings.py
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [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",
],
},
},
]
2.)
В вашем файле urls.py экземпляр пути должен "указывать" не на ваш html-файл, а на веб url
. Так что попробуйте так
urlpatterns = [
path('', YourView.as_view(), name='home'),
],
который вернет шаблон, если вы, например, посетите localhost/127.0.0.1. Также смотрите официальную документацию для TemplateView
.