使用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)