美文网首页
Django--状态保持

Django--状态保持

作者: 临渊如峙 | 来源:发表于2019-02-01 14:50 被阅读0次

    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', '')
    

    相关文章

      网友评论

          本文标题:Django--状态保持

          本文链接:https://www.haomeiwen.com/subject/yblruftx.html