Django之Cookie与Session

博客介绍了Cookie和Session的概念。Cookie是浏览器端的密文,类似用户身份id;Session是服务器中存储登录用户临时信息的数据库,通过sessionid关联用户。还讲述了它们在Django中的应用,如设置session信息后浏览器存储sessionid,登录校验等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Cookie

存在于浏览器端的一串密文,是认证后的用户才拥有的钥匙(这里也包含匿名访问网站的用户),对应某一个用户,类似于表示用户身份id的作用。

二、Session

在服务器中存储登录用户临时信息的一个数据库,每一条记录对应是一个sessionid和某一个用户的信息,这个sessionid正是客户端存储的cookie键值对中的sessionid的值,以此来表明是具体某一个用户。

三、在Django中的应用

cookie

def index(request):
    print(request.COOKIES.get('name'))
    request.set_cookie('name','xff')
    if request.COOKIES.get('name'):
        pass #  逻辑代码
    return HttpResponse('我是index页面,只有登录了才能看')

seeion

# 新增
def set_session(request):
    request.session['name'] = 'jason'
    request.session['name1'] = 'egon'
    return HttpResponse('ok')
# 获取
def get_session(request):
    print(request.session.get('name'))
    print(request.session.get('name1'))
    return HttpResponse('ok')
# 删除数据库中信息
def delete_session(request):
    request.session.delete()
    return HttpResponse('ok')
# 清空数据库中以及浏览器中存储信息
def flush_session(request):
    request.session.flush()
    return HttpResponse('ok')

一旦你设置了session的信息,浏览器就会存储一个名为sessionid的键值对

 Django的session默认保存14天

登录校验用装饰器检测session有没有匹配的信息,跳转登录时可以添加一个get参数next=目标地址,登录时获取当前的get参数中next的值,也就是目标地址,成功后跳转,也就是用户从商品页跳转登录页,登录成功后依然可以回到商品页

转载于:https://www.cnblogs.com/xufengfan/p/11041537.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值