DJango 用户未注销

我是 DJango 的新手,我正在尝试进行用户身份验证。我的登录工作正常,但我的用户没有注销。


我的注销视图是:


from django.contrib.auth import logout

from django.contrib.auth.models import User


class LogoutView(generic.View):

    @staticmethod

    def get(request):

        if User.is_authenticated:

            # Debug statement

            print('if')

            logout(request)

            return redirect('login')

        else:

            return redirect('index')

我的 url 工作正常,因为当我去/logout/时,我的调试语句执行


但if User.is_authenticated:总是返回一个对象(真)。


我该如何解决这个问题。谢谢


青春有我
浏览 74回答 1
1回答

翻阅古今

User.is_authenticated 不是你应该做的。用户是类,显示它将具有在您的请求中显示的对象,这些对象已经存在,并且与正在服务的用户无关。而,request是用户携带许多东西的对象,其中之一是user。它应该是:request.user.is_authenticated:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python