检查是否有人登录Django

Oma*_*ali 0 django django-views

我正在开发一个新的 django 项目。我正在集成框架附带的 Django 用户登录和注销服务。user我有一个视图,在视图中,我想检查request.user. 如果没有,我想重定向到登录页面。user如果中有request.user,我想显示用户主页。我怎样才能做到这一点。这是我的代码:

def home(request):
    if not request.user:
        return redirect('login')
    else:
        User = request.user
        profile = Profile.objects.get(user = User)
        parameters = {
            'user':User,
            'profile':profile,
        }
        return render(request, 'user/home.html', parameters)
Run Code Online (Sandbox Code Playgroud)

如果有用户登录则有效,但如果没有用户登录则无效...

Exp*_*tor 5

def home(request):
    if not request.user.is_authenticated:
        return redirect('login')
    else:
        User = request.user
        profile = Profile.objects.get(user = User)
        parameters = {
            'user':User,
            'profile':profile,
        }
        return render(request, 'user/home.html', parameters)
Run Code Online (Sandbox Code Playgroud)

您需要检查用户是否经过身份验证,如果检查request.userdjango将默认返回匿名用户