理解
cookie是一种数据存储技术,可以将数据保存在浏览器,可短时间存储,也可长时间存储。
浏览器向服务器发送请求时,会把cookie中的数据封装到request一起发送到服务端,由服务端生成合适的响应。
cookie运行过程:
- 用户点击登录之后,信息会以post方式发送给服务器,服务器会判断是否记住密码,如果有记住密码选项,则服务器会通过响应对象.set_cookie方法将信息存进客户端的cookie;
- 用户下次登录的时候,请求路径会带着request.COOKIES一起发送到服务器,服务器通过request.COOKIES[‘xx’]获取cookie 信息,然后做出相应的响应。
语法
- 设置cookie
response.set_cookie(key,value,expires)
key:cookie的名字
value:cookie的值
expires:保存时间,以s为单位 - cookie提取
request.COOKIES.get(‘key’)
代码过程
def login_views(request):
if request.method == "GET":
#判断用户名是否存在cookie中
if 'uname' in request.COOKIES:
return HttpResponse("您已登陆成功")
return render(request,'登录界面.html')
else:
#获取用户名和密码
uname = request.POST['uname']
pwd = request.POST['pwd']
#判断用户名和密码是否正确
if uname == xxx and pwd = xxx:
#判断是否记住密码
if '记住密码' in request.POST:
response = HttpResponse("登陆成功")
response.set_cookie('uname',uname,保存时长)
return response
else:
return HttpResponse("登录成功")
else:
return HttpResponse("登录失败")