Django--状态保持

cookie --记住用户名案例。

1、设置cookie

cookie是由服务器生成,存储在浏览器端的一小段文本信息。
cookie的特点:

  1. 以键值对方式进行存储。
  2. 通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器。request.COOKIES
  3. cookie是基于域名安全的。www.baidu.com www.tudou.com
  4. 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的特点:

  1. session是以键值对进行存储的。
  2. session依赖于cookie。唯一的标识码保存在sessionid cookie中。
  3. 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', '')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容