zoukankan      html  css  js  c++  java
  • cookie session

    cookie

    # views.py
    
    def login(request):  # 登陆页面
        if request.mothod == 'POST':
            name = request.POST.get('user')
            pwd = request.POST.get('pwd')
    
            if name == 'yuan' and pwd == '123':
    
                ret = redirect('/index/')
                ret.set_cookie('key','value')    # 登陆成功后,给cookie赋一组键值对
           #
    ret.set_cookie('username','yuan',max_age=10,expires=datetime.datetime.utcnow()+datetime.timedelta(days=3))
            # max_age设置cookie过期时间为10秒,expires设置cookie过期时间为3天(针对不同浏览器,需要同时设置这两个值,并设置为一样) return ret


    def index(request):
    # if request.COOKIES.get('key',None):   # 判断用户是否有cookie设置的key
      if request.COOKIES.get('key',None)=='value':  # 获取cookie的值,判断key是否为value,None代表取不到时以None代替,这样不报错
        return render(request,'index.html',locals())
      else:
        return redirect('/login/')

    session(django的session默认存储在数据表中)

    # views.py
    
    def login(request):  # 登陆页面
        if request.mothod == 'POST':
            name = request.POST.get('user')
            pwd = request.POST.get('pwd')
    
            if name == 'yuan' and pwd == '123':
            request.session['is_login']=True  # 创建两个session
            request.session['user']=name
           
            return redirect('/index/')         
    def index(request):   if request.session.get('is_login',None):  # 获取session的值,判断is_login是否有值     name = request.session.get('user')    
        return render(request,'index.html',locals())   else:     return redirect('/login/')

    下面我们再来最后的总结一下cookie和session的知识点

    一、操作Cookie

      获取cookie:request.COOKIES[key]

      设置cookie:response.set_cookie(key,value)

    由于cookie保存在客户端的电脑上,所以,jquery也可以操作cookie。

    <script src='http://830909.blog.51cto.com/static/js/jquery.cookie.js'></script>
    $.cookie("list_pager_num", 30,{ path: '/' });

    二、操作Session(session默认在服务器端保存15天)

      获取session:request.session[key]

      设置session:reqeust.session[key] = value

      删除session:del request.session[key]    

    (这个删除其实就是把数据库的session_data更新为一个其他的值了,并没有立即删除)

    request.session.set_expiry(value)
    * 如果value是个整数,session会在此秒数后失效。
    * 如果value是个datatime或timedelta,session就会在这个时间后失效。
    * 如果value是0,用户关闭浏览器session就会失效。
    * 如果value是None,session会依赖全局session失效策略。
  • 相关阅读:
    模板——二分法
    Trie Tree(静态数组写法,好写)
    欧拉路径 基础题 hiho第49周
    Fleury算法求欧拉路径 hiho第50周
    hdu 5266 pog loves szh III 在线lca+线段树区间优化
    hdu 5269 字典树
    hdu 5265 pog loves szh II
    poj 3678 2-sat(强连通)
    lca 在线,离线 poj 1330
    lca 在线算法 zoj 3195
  • 原文地址:https://www.cnblogs.com/dangrui0725/p/9623582.html
Copyright © 2011-2022 走看看