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}}  &nbsp <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>
Вернуться на верх