cookie与session关系
cookie 是保存在客户端浏览器的键值对,浏览器发送请求时候会自动携带。 session 1、生成随机字符串 2、回给浏览器,让它写到cookie 3、自己保留一份,作为一个key,存到一个地方,key后面对应一个保存用户相关信息的键值
from django.shortcuts import render from app01 import models def login(request): # 记录日志 if request.method == ‘GET‘: pass else: user = request.POST.get(‘user‘) pwd = request.POST.get(‘pwd‘) obj = models.UserInfo.objects.filter(user=user,pwd=pwd).first() if obj: # 用户名和密码正确 """ { “xxxx的随机字符串”:{‘id‘:1,‘name‘:‘俊杰‘}, “xx的随机字符串”:{‘id‘:11}, } 表: session_key value xxxx的随机字符串 asfasdfasdfasdfwer2342fszdfsdfs 1. 生成随机字符串 2. 把随机字符串写到客户端浏览器cookie中 3. 在内存中大字典写入: { 随机字符串: {‘id‘:用户id} } """ request.session[‘id‘] = obj.id request.session[‘name‘] = obj.name else: # 用户名和密码错误 pass def home(request): """ :param request: :return: """ """ 1. 获取客户端cookie中的随机字符串 2. 如果有: 则获取 key 对应的值 否则 返回None """ user_id = request.session.get(‘id‘) def temp(request): data_list = { ‘k1‘:‘sf4sdf‘ } return render(request,‘temp.html‘,data_list)