django--cookies 和 session

# cookies 和 session

##cookies记录在客户端浏览器上的数据:

比如:
1.
通知浏览器保存数据,下次请求内容自带这些数据发给服务器
from django.http import HttpResponse

def index(request):
resp = HttpResponse()
resp.set_cookie('cookies名', cookies值, 超期时间)
#resp = render(request,'xxx.html',locals())
#resp.set_cookie('cookies名', cookies值, 超期时间)

return resp


超期时间:秒


2.服务器先查看浏览器是否有带cookies值
获取cookies值:
value = request.COOKIES.get('cookies名')

3.通知浏览器清空cookies值

def xxxxx:
resp = HttpResponse()
resp.delete_cookie('cookies名')
return resp


##session 会话控制,记录在服务器上的临时数据,会把记录'KEY'同时发给浏览器cookies记录


1.配置settings.py文件, django初始化一般自带

INSTALLED_APPS = [
# 启用 sessions 应用
'django.contrib.sessions',
]
MIDDLEWARE = [
# 启用 Session 中间件
'django.contrib.sessions.middleware.SessionMiddleware',
]

2.设置服务器保存时间:settings.py文件增加
SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2 #两周后清除数据
SESSION_EXPIRE_AT_BROWSER_CLOSE = True #浏览器关闭 清除数据

3.设置添加session记录

def xxxxx(request):
request.session['KEY'] = VALUE

return HttpResponse()


4.获取session记录

VALUE = request.session.get('KEY')


5.删除session记录
#浏览器记录删除
resp.delete_cookie('sessionid')
#数据库里面数据删除 删除不干净
del request.session['KEY']
#设置服务器保存时间时间到了,自动删除干净

猜你喜欢

转载自www.cnblogs.com/chenlulu1122/p/11921583.html
今日推荐