从通过传递 pk 动态创建的页面注销用户时出现 ValueError
ValueError while logging out user from the page dynamically created by passing pk
我有一个页面 search.html,其中有一个 link 与一个 pk 相关联,点击后会重定向到页面 doc.html 输出与 pk
相关的内容
此 doc.html 扩展了一个页面 consult_home.html。此页面包含注销按钮。在扩展此 consult_home.html 的所有其他页面中,注销按钮工作正常。但是在 doc 文件中我收到以下错误并且注销 link 不起作用:
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 时无法注销。如何删除此值错误。
onclick
应该使用 绝对路径 /logout
,而不是 logout
:
<button type="button" class="button log_out" onclick="<strong>location.href='/logout';</strong>">LOGOUT</button>
通常一个人会通过 POST 请求注销,因此使用会发出此类请求的迷你表单是有意义的:
<form <strong>method="post" action="{% url 'logout' %}"</strong>>
<button type="submit" class="button log_out">LOGOUT</button>
</form>
我有一个页面 search.html,其中有一个 link 与一个 pk 相关联,点击后会重定向到页面 doc.html 输出与 pk
相关的内容此 doc.html 扩展了一个页面 consult_home.html。此页面包含注销按钮。在扩展此 consult_home.html 的所有其他页面中,注销按钮工作正常。但是在 doc 文件中我收到以下错误并且注销 link 不起作用:
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 时无法注销。如何删除此值错误。
onclick
应该使用 绝对路径 /logout
,而不是 : logout
<button type="button" class="button log_out" onclick="<strong>location.href='/logout';</strong>">LOGOUT</button>
通常一个人会通过 POST 请求注销,因此使用会发出此类请求的迷你表单是有意义的:
<form <strong>method="post" action="{% url 'logout' %}"</strong>>
<button type="submit" class="button log_out">LOGOUT</button>
</form>