django--cookies 和 session

Posted chenlulu1122

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘]
#设置服务器保存时间时间到了,自动删除干净

以上是关于django--cookies 和 session的主要内容,如果未能解决你的问题,请参考以下文章

Django Cookies与Session组件

Django,COOKIES,SESSION完成用户登入

Django - cookies 会话跟踪技术

session和cookie的区别

session和cookie

Session.Abandon和Session.Clear的区别