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的主要内容,如果未能解决你的问题,请参考以下文章