Django logout 登出错误

在学习Django的过程中遇到一个与文档案例不相符的问题,当然也有可能是我自己不会使用造成的错误,贴上代码请大神解决

# views.py
from django.shortcuts import render
from django.contrib.auth import authenticate, login, logout

def index(request):
    return render(request, 'index')
    
def login_view(request):
    ...

def logout_view(request):
    logout(request)
# urls.py
from django.urls import path
from . import views
app_name = 'radmin'
urlpatterns = [
    path('', views.index, name='index'),
    path('login/', views.login_view, name='login'),
    path('logout/', views.logout_view, name='logout')
]
<!DOCTYPE html>
<html lang='zh-CN'>
    <head>
        <meta charset='utf-8'>
        <title>Document</title>
    </head>
    <body>
        <a href="{% url 'radmin:logout' %}">Logout</a>
    </body>
</html>

clipboard.png

在网上找过一些类似的问题,但人家解决的方法就是将代码改成官方文档那样就OK,而我这.....

阅读 3.5k
2 个回答

上面的错误是说每个请求必须要有response返回,你需要return一个HttpResponse

def logout_view(request):
    logout(request)
    return HttpResponse({你想放回的数据}) 或者 其他的response

解决方法:

def logout_view(request):
    logout(request)
    return HttpResponseRedirect(@login_path)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏