Ссылка href в Django не маршрутизируется на правильный url

Ссылки в моих страницах/templates/base.html, которые используются для шаблона заголовка, приводят к 404 ошибке. Страницы загружаются правильно, если вручную написать 'http://127.0.0.1:8000' 'http://127.0.0.1:8000/about/'. Я использую представления на основе классов и следую главе 3 книги Django для начинающих (William Vincent).

pages/templates/base.html:

<header>
    <a href="{% url 'home' %">Home</a> |
    <a href="{% url 'about' %">About</a>
</header>

pages/urls.py:

from django.urls import path
from .views import HomePageView, AboutPageView

urlpatterns = [
    path("", HomePageView.as_view(), name="home"),
    path("about/", AboutPageView.as_view(), name="about"),

]

portfolio/urls.py:

from django.contrib import admin
from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path("", include("pages.urls")),
]

settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'pages.apps.PagesConfig',
]

pages/views.py:

from django.views.generic import TemplateView

# Create your views here.

    from django.http import HttpResponse
    
    class HomePageView(TemplateView):
        template_name = 'home.html'
    
    class AboutPageView(TemplateView):
        template_name = "about.html"

Ошибка выглядит следующим образом:

Using the URLconf defined in portfolio.urls, Django tried these URL patterns, in this order:
admin/
[name='home']
about/ [name='about']
The current path, about/{% url 'about' %, didn’t match any of these.

Ошибка терминала:

Not Found: /{% url 'about' %
[26/Oct/2022 11:40:02] "GET /%7B%%20url%20'about'%20% HTTP/1.1" 404 2497

Я думаю, что проблема кроется в pages/urls.py, так как при нажатии на ссылку 'home' из 'http://127.0.0.1:8000/about/' url будет 'http://127.0.0.1:8000/about/%7B%%20url%20'home'%20%'. Я пытался удалить "about/" из " path("about/", AboutPageView.as_view(), name="about"), "

Я также не уверен, правильно ли написаны теги href. Я просмотрел this и this, но не могу разобраться. Спасибо.

{% url 'about' % <- вам нужно закрыть его должным образом.

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