【发布时间】:2020-08-21 08:49:16
【问题描述】:
我是 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: 总是返回一个对象(true)。
我该如何解决这个问题。谢谢
【问题讨论】:
-
User是类,而不是当前用户。你想要request.user.is_authenticated。 -
Django 自带了一个
LogoutView。使用它比自己编写更容易。
标签: python django python-3.x django-views