注销时出现 ValueError,注销没有 return HttpResponse 对象
ValueError at logout, logout didn't return an HttpResponse object
使用底部的代码按下注销按钮时出现以下错误-
/logout 处出现 ValueError
视图 app.views.logout 没有 return HttpResponse 对象。它 return 改为 None。
请求方式:GET
请求 URL:http://127.0.0.1:8000/logout
Django 版本:3.0.8
异常类型:ValueError
异常值:
视图 app.views.logout 没有 return HttpResponse 对象。它 return 改为 None。
我的密码是
def logout(request):
if request.method=="POST":
auth.logout(request)
return redirect('login')
我的html是
<li class="nav-item mr-3">
<form id="logout" method="POST">
{% csrf_token %}
<input type ="hidden">
</form>
<a class="nav-link" href="{% url 'logout'%}" onclick="javacript:document.getElementById('logout').submit()">
Logout
</a>
</li>
在你的代码中
def logout(request):
if request.method=="POST":
auth.logout(request)
return redirect('login')
不需要显式 redirect
,因为 auth.logout
可以在注销后处理重定向。只需在 settings.py
中设置 LOGOUT_REDIRECT_URL = "my_url"
或者,如果您使用的是 Django 2.2.x 或更高版本,也可以在 urls.py
中实现相同的效果,在 urls.py
import
中
from django.contrib.auth.views import LogoutView
然后在 urlpatterns 中添加以下路径,
path('logout/', LogoutView.as_view(next_page=settings.LOGOUT_REDIRECT_URL), name='logout'),
那么您的 views.py
中不需要任何代码
使用底部的代码按下注销按钮时出现以下错误-
/logout 处出现 ValueError
视图 app.views.logout 没有 return HttpResponse 对象。它 return 改为 None。
请求方式:GET
请求 URL:http://127.0.0.1:8000/logout
Django 版本:3.0.8
异常类型:ValueError
异常值:
视图 app.views.logout 没有 return HttpResponse 对象。它 return 改为 None。
我的密码是
def logout(request):
if request.method=="POST":
auth.logout(request)
return redirect('login')
我的html是
<li class="nav-item mr-3">
<form id="logout" method="POST">
{% csrf_token %}
<input type ="hidden">
</form>
<a class="nav-link" href="{% url 'logout'%}" onclick="javacript:document.getElementById('logout').submit()">
Logout
</a>
</li>
在你的代码中
def logout(request):
if request.method=="POST":
auth.logout(request)
return redirect('login')
不需要显式 redirect
,因为 auth.logout
可以在注销后处理重定向。只需在 settings.py
LOGOUT_REDIRECT_URL = "my_url"
或者,如果您使用的是 Django 2.2.x 或更高版本,也可以在 urls.py
中实现相同的效果,在 urls.py
import
from django.contrib.auth.views import LogoutView
然后在 urlpatterns 中添加以下路径,
path('logout/', LogoutView.as_view(next_page=settings.LOGOUT_REDIRECT_URL), name='logout'),
那么您的 views.py
中不需要任何代码