django做web系统时,避免不了登陆注册及cookies 和 session的设置,那么又是如何设置的呢?
一、cookies
1、什么是cookies
cookies是一种数据存储技术
将一段文本保存在客户端(浏览器)的一种技术。并可以长时间的保存
2、cookies的使用场合
1、保存登录信息
2、保存用户的搜索关键词
3、django 中使用 cookies
设置cookies(保存数据到客户端)
1、不使用模板
resp = HttpResponse("给客户端的一句话")
resp.set_cookie(key,value,expires)
return resp
key : cookie的名称
value : 保存的cookie的值
expires : 保存的时间,以 s 为单位
ex:
resp.set_cookie('uname','zsf',60*60*24*365)
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
2、获取cookies(从客户端获取数据)
后续操作都可以根据这个判断,如果cookies不存在则pass
request.COOKIES
二、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的设置
4.1、SESSION_COOKIE_AGE = 60 * 30
4.2、SESSION_EXPIRE_AT_BROWSER_CLOSE = True
网友评论