Django—session

目录

  1. cookie与session的区别
  2. 设置
  3. 添加
  4. 获取
  5. 删除

  1. cookie与session的区别


    cookie和session的区别与联系
    区别
    session将数据存储与服务器端 cookie存储在客户端
    cookie 存储在客户端,不安全,sess存储在服务器端,客户端只存
    sesseionid,安全
    cookie在客户端存储值有⼤⼩的限制,⼤约⼏kb。session没有限制
    联系
    千锋python学院
    session 基于cookie
  2. 设置


    ⾸先在settings.py中有如下配置(系统默认)
    
    INSTALLED_APPS = [
     'django.contrib.sessions',
    ]
    MIDDLEWARE = [
     'django.contrib.sessions.middleware.SessionMiddleware',
    ]
    
    
    2. 进⾏数据迁移,⽣成session使⽤的数据库表
  3. 添加


    def doregister(request):
     username = request.POST.get('username')
     password = request.POST.get('password')
     email = request.POST.get('email')
     user = User()
     user.username = username
     user.password = md5(password.encode('utf8')).hexdigest()
     user.email = email
     user.save()
     # 设置session
     request.session['username'] = username
     return render(request,"common/notice.html",context={
     'code':1,
     'msg':'注册成功',
     'url':'three:index',
     'wait':3
     })
  4. 获取


    def index(request):
     # session获取
     username = request.session.get('username')
     return render(request,'three/index.html',context=
    {'username':username})
  5. 删除


    session删除
    clear() 清空所有session 但是不会将session表中的数据删除
    flush() 清空所有 并删除表中的数据
    logout() 退出登录 清除所有 并删除表中的数据
    del req.session['key'] 删除某⼀个session的值
    
    
    def logout(request):
     request.session.flush()
     return redirect(reverse("three:index"))
    
    
    session过期时间
    req.session.set_expiry(5)
发布了180 篇原创文章 · 获赞 6 · 访问量 2311

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105017146