django中,关于session的通用设置

本文详细介绍了Django中Session的通用配置与引擎设置,包括Session的cookie名称、路径、域名等参数,以及数据库、缓存、文件等多种Session存储方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近发现session的知识有点脱节了,默认设置愣是搞半天,看来忘了不少。今天把一些通用设置贴上来,以备随时回顾。

配置文件中设置默认操作(通用配置):
        SESSION_COOKIE_NAME = "sessionid"                       
        # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)

        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_EXPIRE_AT_BROWSER_CLOSE = False                  
        # 是否关闭浏览器使得Session过期(默认)

        SESSION_SAVE_EVERY_REQUEST = False                      
         # 是否每次请求都保存Session,默认修改之后才保存(默认)

既然通用配置都贴了,顺带贴上引擎配置部分吧:

Django中默认支持Session,其内部提供了5种类型的引擎供我们使用session:
- 数据库(默认)
- 缓存
- 文件
- 缓存+数据库
- 加密的cookie

缓存类型设置:(在setting.py中)

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'  # 引擎
SESSION_CACHE_ALIAS = 'default'  
# 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置

文件类型设置:

SESSION_ENGINE = 'django.contrib.sessions.backends.file'    # 引擎
SESSION_FILE_PATH = None                                    
# 缓存文件路径,如果为None,则使用tempfile模块获取一个临时地址tempfile.gettempdir()

缓存+数据库:

SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
#一般用于构建高并发应用的时候才选用,但是其使用效率未必比数据库类型高

加密cookie:

SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'

以上设置全部在setting中设置,当然了,默认使用的数据库在没有指明下,必然是django的sqlite3,除非自己指定一个数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值