ValueError при выходе пользователя со страницы, динамически созданной при передаче pk
У меня есть страница search.html, которая имеет ссылку, связанную с пк, которая при нажатии перенаправляет на страницу doc.html, которая выводит содержимое, связанное с этим пк
Этот doc.html расширяет страницу consult_home.html. Эта страница содержит кнопку выхода из системы. На всех других страницах, расширяющих эту consult_home.html кнопка выхода из системы работает отлично. Но в файле doc я получаю следующую ошибку, и ссылка выхода не работает:
ValueError at /consultancy/doc/logout
Field 'id' expected a number but got 'logout'.
Ниже приведены коды функций представления и шаблонов url, а также коды шаблонов:
consult_home.html*
<button type="button" class="button log_out" onclick="location.href='logout';">LOGOUT</button>
просмотр функции для выхода из системы
def logoutUser(request):
logout(request)
return redirect('/')
search.html
<a class="judge-ttle" href="{% url 'doc' searches.pk %}">{{searches.title}}   <i class="fas fa-external-link-alt"></i></a>
представления для doc.html
class DocDetailView(DetailView):
model= Laws
template_name = 'doc.html'
urls.py
urlpatterns=[
path('logout', views.logoutUser, name='logout'),
path('doc/<str:pk>', DocDetailView.as_view(), name='doc' ),
]
Как я описал выше, пользователь не может выйти из системы, когда он находится в doc.html. Как я могу устранить эту ошибку Value Error.
onclick
должен работать с абсолютным путем /logout
, а не с :logout
<button type="button" class="button log_out" onclick="location.href='/logout';">LOGOUT</button>
Обычно выход из системы осуществляется с помощью POST-запроса, поэтому имеет смысл работать с миниформой, которая будет делать такой запрос:
<form method="post" action="{% url 'logout' %}">
<button type="submit" class="button log_out">LOGOUT</button>
</form>