1.cookie存储在前端,私密性差,因此存储一些不太重要的信息,比如用户名等,而session存储在数据库中,安全性要好一点
2.HttpResponse返回的也是一个对象,该对象可以设置和删除cookie值
3.设置cookie值时,通过键值对的方式设置,两者用逗号隔开,小提示:cookie值不要用中文,如果用会出现如下报错
File "/usr/lib/python3.8/wsgiref/headers.py", line 142, in __bytes__
return str(self).encode('iso-8859-1')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 165-166: ordinal not in range(256)
4. 另外还可以设置cookie的存活时间,有两种方式
一是max_age=xx 单位是秒
from datetime import datetime
def set_cookie(request):
res = HttpResponse('cookie值已设置')
res.set_cookie('name','lilei',max_age=60)
return res
二是通过datetime设置年月日
from datetime import datetime
def set_cookie(request):
res = HttpResponse('cookie值已设置')
res.set_cookie('name','lilei',expires=datetime(2023,7,1))
return res
5.获取cookie值通过request中的COOKIE属性得到cookie对象,可以理解为一个字典,因此字典可以用get(key)的方式获取值
def get_cookie(request):
res = request.COOKIES
name = res.get('name')
if name == 'lilei':
return HttpResponse(f'{name}登录成功')
else:
return HttpResponse('用户不存在')