cookies 和 session
cookies
1、什么是cookies
cookies是一种数据存储技术
将一段文本保存在客户端(浏览器)的一种技术。并可以长时间的保存
2、cookies的使用场合
1、保存登录信息
2、保存用户的搜索关键词
3、django 中使用 cookies
1、设置cookies(保存数据到客户端)
1、不使用模板
resp = HttpResponse("给客户端的一句话")
resp.set_cookie(key,value,expires)
return resp
key : cookie的名称
value : 保存的cookie的值
expires : 保存的时间,以 s 为单位
2、使用模板
resp = render(request,'xxx.html',locals())
resp.set_cookie(key,value,expires)
return resp
3、重定向
resp = HttpResponseRedirect('/login/')
resp.set_cookie(key,value,expires)
return resp
练习:
1、完成登录操作 - fruitday
2、判断手机号 和 密码是否正确
3、如果正确的话,而且 勾选了 记住密码,则将登录信息保存进cookie,存期1年
2、获取cookies(从客户端获取数据)
request.COOKIES
练习:
1、完成登录操作 - fruitday
2、当用户访问登录路径时,判断COOKIES中是否有登录的信息(id,uphone),
如果存在,则提示 欢迎:13912345678。如果登录信息不存在的话,则正常显示 登录的页面
session
1、什么是session
session(会话),实际上就是服务器为每个浏览器临时开辟的一段空间,用于保存 相关的请求信息
2、session的应用场合
session也是为了存放数据而存在的,通常会把服务器端要用到的数据保存进 session
3、Django中使用session
1、设置session的值
request.session['key']=值
request.session.set_expiry(time):设置过期时间,如果设置为0的话则表示浏览器关闭则失效
2、获取session的值
request.session.get('key')
3、删除 session 的值
del request.session['key']
4、settings.py 有关session的设置
1、SESSION_COOKIE_AGE = 60 * 30
2、SESSION_EXPIRE_AT_BROWSER_CLOSE = True
练习:
1、设置一个访问路径 /login
2、当用户第一次访问 /login 的时候,则弹出登录页面
模拟登录:用户名为 zhangsanfeng,密码为 :yinsusu 视为登录成功
3、如果已经登录了,再访问 /login 的时候,则显示 :欢迎 xxx 回来 退出(超链接)
4、点击 退出时,允许退出登录。再访问 /login 的时候,则显示 登录页面
浙公网安备 33010602011771号