Как загрузить локальный каталог в путь в 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.

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