session和cookie关系:session依赖于cookie
基于cookie做用户验证时,敏感信息不适合放在cookie中
原理:
cookie定义:保存在用户游览器端的键值对
session定义:保存在服务器端的键值对
session原理:客户端发起登录请求,服务器端通过验证后,生成随机字符串返回给客户端,并且服务器端将此字符串和客户端信息存储
到本地数据库中,用于客户端下次登录验证。
session 和 cookie 区别
cookie只是保存在客户端游览器的内容为键值对的文件,session是存储在服务器端的,可以文件,缓存,数据库形式存在,随机字串和数据
存储在服务器端,只将随机字符串返回给客户端
以下为一个帐号登录实例:
def login(request):
    if request.method == 'GET':
        return render(request,'login.html')
    elif request.method == 'POST':
        user = request.POST.get('user')
        pwd = request.POST.get('pwd')
        if user == 'root' and pwd == '123':
            # 设置session帐号登录名称及登录状态
            request.session['username'] = user
            request.session['is_login'] = True
            request.session.set_expiry(10)  # sesson超时时间10秒
            return redirect('/index/')
        else:
            return render(request,'login.html')

def index(request):
    # 获取session值
    if request.session.get('is_login',None):
        return render(request,'index.html',{'username':request.session['username']})
def logout(request):
    # 删除所有session,进行当前登录注销
    request.session.clear()
    return redirect('/login')
View Code

相关文章:

  • 2021-10-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
猜你喜欢
  • 2021-10-09
  • 2021-10-13
  • 2022-12-23
  • 2021-10-11
  • 2021-09-07
  • 2022-12-23
  • 2021-04-09
相关资源
相似解决方案