从通过传递pk动态创建的页面注销用户时出现ValueError .



我有一个页面search.html它有一个与pk相关联的链接,当点击时重定向到页面doc.html输出与该pk相关的内容

这个<<p> strong> doc.html 扩展一个页面. 此页面包含注销按钮。在所有扩展此的其他页面中注销按钮工作得很好。但在文档文件中,我得到以下错误,注销链接不起作用:
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>

views for 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时,他无法注销。. 如何删除这个值错误。

onclick应该使用绝对路径/logout,而不是logout:

<button type="button" class="button log_out" onclick="location.href='/logout';">LOGOUT</button>

通常使用POST请求登出,因此使用将发出此类请求的迷你表单是有意义的:

<formmethod="post" action="{% url 'logout' %}">
<button type="submit" class="button log_out">LOGOUT</button>
</form>

最新更新