Django logout 登出错误

发布于 2022-09-11 16:27:38 字数 1101 浏览 29 评论 0

在学习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,而我这.....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

玩世 2022-09-18 16:27:38

解决方法:

def logout_view(request):
    logout(request)
    return HttpResponseRedirect(@login_path)
2022-09-18 16:27:38

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

def logout_view(request):
    logout(request)
    return HttpResponse({你想放回的数据}) 或者 其他的response
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文