DJANGO не может перейти на страницу с помощью гиперссылки, но ввод адреса страницы работает нормально

делаю простой проект django с 2 приложениями одно для блогов, другое для пользователей оба работают нормально, но я не могу перейти по гиперссылке на этой странице

<p>
<a href="{% url 'learning_logs:home' %}">Home</a>
<a href="{% url 'learning_logs:topics' %}">Topics</a>
{% if user.is_authenticated %}
    Hello, {{ user.username }}.
    <a href="{% url 'users:logout' %}">logout</a>
{% else %}
    <a href="{% url 'users:login' }">login</a>
{% endif %}

urls.py in users

    from django.urls import URLPattern, path
    from django.contrib.auth.views import LoginView
    from . import views
    app_name = 'users'
    urlpatterns = [
    path('login/', LoginView.as_view(template_name='login.html'), name='login'),
    path('logout/', views.logout_view, name='logout'),
    ] 

основные ссылки проекта

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('learning_logs.urls', namespace='learning_logs')),
    path('users/', include('users.urls', namespace='users')),
    ]

сообщение об ошибке

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/%7B%25%20url%20'users:login'%20%7D
Using the URLconf defined in learning_log.urls, Django tried these URL patterns, in this order:

admin/
[name='home']
topics [name='topics']
topics/<topic_id> [name='topic']
new_topic [name='new_topic']
new_entry/<topic_id> [name='new_entry']
edit_entry/<entry_id> [name='edit_entry']
users/
The current path, {% url 'users:login' }, didn’t match any of these.

он показывает страницу, если я ввожу /users/login/ в адресной строке

Вы забыли % в login внутри вашего html файла. Измените код html с на

<a href="{% url 'users:login' }">login</a>

To

<a href="{% url 'users:login' %}">login</a>

Уберите кавычки

{% if user.is_authenticated %}
   <a href="{% url users:logout %}">logout</a>
{% else %}
   <a href="{% url users:login %}">login</a>
{% endif %}

Спрашивая очевидное, пробовали ли вы:

<a href="{% url 'logout' %}">Log Out</a>

Другими словами, вы назвали свой url 'logout', поэтому попробуйте просто использовать имя url.

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