千家信息网

Django Session通用配置

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,Django对于Session有一些默认的通用配置,这些默认配置为:SESSION_COOKIE_NAME == "sessionid" #Session的cookie保存在浏览器上时的ke
千家信息网最后更新 2025年01月20日Django Session通用配置

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

SESSION_COOKIE_NAME == "sessionid"      #Session的cookie保存在浏览器上时的keySESSION_COOKIE_PATH == "/"              #Session的cookie保存的路径(默认)SESSION_COOKIE_DOMAIN = None            #Session的cookie保存的域名(默认)SESSION_COOKIE_SECURE = False           #是否Https传输cookieSESSION_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的保存方式。

默认保存在数据库中: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的操作:

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()清除所有sessionrequest.session['k1']request.session.get('k1',None)request.session['k1'] =123不存则设置,存在则更新request.session.setdefault('k1',123)存在则不设置



参考:http://blog.csdn.net/clh704/article/details/9186465

0