django框架 怎么设置session和cookie 以及它们的运用

cookie :它是一个字典

设置cookie :

def index(request):
response = HttpResponse('index')
expires = datetime(year=2020,month=2,day=26,hour=22)
response.set_cookie('username','zhutianle',expires=expires,path='/index1/',max_age=3600)
return response

set_cookie 里面的参数解析:

设置cookie(cookie的键,cookie的值,expires是到期时间,path是只允许那个url,max_age最大时间)
expres和max_age都有的话 max_age 优先

1.若没有填写 max_age, expires ,默认都为None 此时该cooike为临时的,只存在浏览器内存中,
关闭浏览器则自动删除

  1. 只有max_age, 则按秒计算过期时间, 浏览器会存在本地缓存路径, 并自动删除过期cookie

  2. 只有expires, 则按照时间字符串计算过期时间, 浏览器会存在本地缓存路径, 自动删除过期cookie

  3. 若 max_age和 expires 同时存在, 则默认使用 max_age

5 如果设置的cookie时间小于计算机时间, 浏览器则不提取cookie*****

获取cookie:

def get_cookie(request):
cookies = request.COOKIES
print(cookies) #它是一个字典 

username = cookies.get('username')
return HttpResponse(username)

删除cookie:

def delete_cookie1(request):
response = HttpResponse('删除cookie')
response.delete_cookie('username')
return response

另一种删除 cookie:

def delete_cookie2(request):
cookie = request.COOKIES
cookie.clear()
return HttpResponse('clear')

session :

设置session:

def session_view(request):
    request.session['username'] = 'kangbazi'
    # expiry = timedelta(days=2)
    request.session.set_expiry(3600) #只支持 整型 0  None
    return HttpResponse('session_view')

获取session:

def get_session_view(request):
    username = request.session.get('username')
    return HttpResponse(username)

**cookie 和 session的区别:

简单跟大家说一下 两者的区别,cookie是存放在客户端 没有session 安全性高,只能存放4kb数据 ,而session 存放在服务端 安全性高,能存放的数据大**

cookie 和 session的作用:

- 他们的作用呢!http 是无状态的,比如我们在实现登录的时候
设置他们可以让让浏览器记住我们,下次访问网页的时候,下次访问的时候就不需要登录了,如果设置cookie和session的过期时间过期了
那么也会失效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值