1.使用session:
登录时保存登录状态,
创建resp对象:
resp=HttpResponse()
将uname保存在服务器中
request.session['uname']=uname
将upwd保存在服务器中
request.session['upwd']=upwd
查看个人中心:
从服务器中获得登录时保存的uname
uname=request.session.get('uname',None)
从服务器中获得登录时保存的upwd
upwd=request.session.get('upwd',None)
登出已登录的账号
清空所有登录时保存的数据
request.session.flush()
2.使用token:
登录时保存登录状态
创建resp对象
resp=HttpResponse()
生成唯一的UUID:
utoken=str(uuid.uuid4())
在客户端生成utoken:
resp.set_cookie('utoken',utoken)
将生成的utoken保存到user表中
user.utoken=utoken
user.save()
查看个人中心:
在客户端拿到用户登陆时生成的utoken,默认为空:
utoken=request.COOKIES.get('utoken',None)
在user表中获取登录时生成的utoken对应的数据,
user=User.objects.filter(utoken=utoken).first()
uname=user.uname
登出:
创建resp对象
resp=HttpResponse()
删除客户端保存的utoken
resp.delete_cookie('utoken')
resp.content='登出成功'
return resp
3.使用cookie:
登录时在客户端保存用户信息:
创建resp对象
resp=HttpResponse()
将key为uname,值为uname的数据保存到客户端,max_age为过期时间,单位为s
resp.set_cookie('uname',uname,max_age=60)
查看个人中心:
在客户端获取key为uname的值:
uname=request.COOKIES.get('uname',None)
登出:
创建resp对象
resp=HttpResponse()
删除登录时保存在客户端中key为uname的值
resp.delete_cookie('uname')
resp.content='登出成功'
return resp