django学习 Day3——自动登录

使用python的auth模块实现用户自动登录

from django.contrib import auth

使用auth中的authenticate对用户输入的账号和密码进行验证

user = auth.authenticate(username=username, password=pwd)

当user存在时,使用auth的login登录

auth.login(request=request, user=user)

若用户选择记住登录状态,就在login页面进行session校验:当存在session时,主动登录并跳转到首页

auth.login()会主动创建session

request.session.cycle_key()


所以可以直接判断get请求中是否包含session

if request.session.session_key:
            return redirect(reverse('user:index'))

若用户选择不记住登录,则删除login自动创建的session

del request.session

选择退出,使用auth的logout,会从登录状态退出并删除session

auth.logout(request)

猜你喜欢

转载自blog.csdn.net/a1213284679/article/details/84862985