cookie --记住用户名案例。
1、设置cookie
cookie是由服务器生成,存储在浏览器端的一小段文本信息。
cookie的特点:
- 以键值对方式进行存储。
- 通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器。request.COOKIES
- cookie是基于域名安全的。www.baidu.com www.tudou.com
- cookie是有过期时间的,如果不指定,默认关闭浏览器之后cookie就会过期。
response.set_cookie('name', 'laowang')
2、获取cookie
name_cookie = request.COOKIES['name']
name_cookie = request.COOKIES.get('name', '')
3、原生js获取Django视图方法设置的cookie
cookie值:name=laowang; __session:0.340983988761107:=http:
function getCookie(name) {
var strcookie = document.cookie;
var arrcookie = strcookie.split('; ');
for (var i = 0; i < arrcookie.length; i++) {
var arr = arrcookie[i].split('=');
if (arr[0] == name) {
return arr[1];
}
}
return "";
}
session
session存储在服务器端。
session的特点:
- session是以键值对进行存储的。
- session依赖于cookie。唯一的标识码保存在sessionid cookie中。
- session也是有过期时间,如果不指定,默认两周就会过期。
set_expiry(value):设置会话的超时时间
如果没有指定,则两个星期后过期
如果value是一个整数,会话将在values秒没有活动后过期
如果value是一个timedelta对象,会话将在当前时间加上这个指定的日期/时间过期
如果value为0,那么用户会话的Cookie将在用户的浏览器关闭时过期
如果value为None,那么会话永不过期
修改视图中login_handle函数,查看效果
1、设置session--记住用户登录状态案例
request.session['name'] = 'laowang'
2、获取session
name_session = request.session['name']
name_session = request.session.get('name', '')
网友评论