Django Session通用配置-阿里云开发者社区

开发者社区> 数据库> 正文

Django Session通用配置

简介:

Django对于Session有一些默认的通用配置,这些默认配置为:

1
2
3
4
5
6
7
8
SESSION_COOKIE_NAME == "sessionid"      #Session的cookie保存在浏览器上时的key
SESSION_COOKIE_PATH == “/”              #Session的cookie保存的路径(默认)
SESSION_COOKIE_DOMAIN = None            #Session的cookie保存的域名(默认)
SESSION_COOKIE_SECURE = False           #是否Https传输cookie
SESSION_COOKIE_HTTPONLY = True          #是否Session的cookie只支持http传输(默认)
SESSION_COOKIE_AGE = 1209600            #Session的cookie失效日期(2周)(默认)
SESSION_SAVE_EVERY_REQUEST = False      #是否设置关闭浏览器使得Session过期
SESSION_COOKIE_AT_BROWSER_CLOSE = False #是否每次请求都保存Session,默认修改之后才能保存

这些配置可以在settings.py文件中写入并进行更改


Django中,Session可以保存在数据库中,可以保存到缓冲中,也可以保存到文件中,默认情况下是保存在数据库中,数据库中有一张Sessions表。可以通过修改settings.py文件来修改session的保存方式。

1
2
3
4
5
6
7
8
9
10
11
12
13
默认保存在数据库中:
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
 
保存在文件中
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
 
 
保存在缓存中
SESSION_ENGINE =  'django.contrib.sessions.backends.cache'
 
 
同时保存到缓存和数据库中
SESSION_ENGINE =  'django.contrib.sessions.backends.cache_db'



Django关于Session的操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
request.session.set_expiry(value)
如果value是个整数, session会在这些秒后失效
如果value是个datatime或timedelta,session就会在这个时间后失效
如果value是0,用户关闭浏览器session就会失效
如果value是None,session会依赖全局session失效策略
 
request.session.delete("session_key")
删除当前用户的所有session数据
 
request.session.clear()
清除所有session
 
request.session['k1']
request.session.get('k1',None)
 
request.session['k1'] =123
不存则设置,存在则更新
 
request.session.setdefault('k1',123)
存在则不设置










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1942614,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章