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

在页面返回字符串 ‘index’ 利用返回页面的对象,设置cookie(cookie的键,cookie的值,expires到期时间,path是只允许那个url,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的过期时间过期了
那么也会失效。

发布了5 篇原创文章 · 获赞 2 · 访问量 314

猜你喜欢

转载自blog.csdn.net/ZhuDaoKe/article/details/104524391