Django的cookies和seesion的读取



cookie---客户端

设置:
响应.set_cookie(key,value,max_age)
---key(cookie键名)
---value(cookie键值)
---max_age(过期时间,时间戳)--如果不设置,保存一次会话
如:
response = redirect('/')
response.set_cookie('name','root',3600) #将name=root保存到cookie中,时间为1小时
return response

使用:
所有cookie都保存在request.COOKIES中 ,以字典的形式保存
如:取得cookie中的name值
request.COOKIES.get('name')
销毁
如:
response = redirect('/')
response.delete_cookie('name')
return response


session--保存在服务器端,默认django保存在数据中
设置:
request.session['name']='root'
使用:
request.session['name']
或者
request.session.get('name')
销毁:
或者:request.session['name']=None
del request.session['name']
def session_login(request):
if request.method == 'POST':
user = request.POST.get('user')
pwd = request.POST.get('pwd')
if user == 'fuzj' and pwd == '123':
request.session['user'] = user
return redirect('/session_index/')

return render(request,'session_login.html')

@auth
def session_index(request):
user = request.session.get('user',None)
return render(request,'index.html',{'user':user})

def session_logout(request):
del request.session['user']
return redirect('/session_login/')

request.session['k1']:获取session,如果没有会报错

request.session.get('k1',None):获取session,如果没有会返回None

request.session['k1'] = 123:设置session,如果k1存在就覆盖

request.session.setdefault('k1',123):设置session,如果存在则不设置

del request.session["k1"] :只删除k1,随机字符串和其他session值还存在

request.session.session_key:当前用户随机字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值