在Django 4.0中,配置会话(Session)涉及到设置一些与会话相关的参数,包括会话引擎、会话存储方式、Cookie设置等。这些配置通常在项目的 settings.py 文件中进行。

以下是一些常见的会话配置选项及其用法:

1. 会话引擎(Session Engine):

   Django允许你选择不同的会话引擎,例如数据库引擎、缓存引擎等。你可以使用 SESSION_ENGINE 设置来指定要使用的引擎。
   # 使用数据库作为会话引擎
   SESSION_ENGINE = 'django.contrib.sessions.backends.db'
   # 使用缓存作为会话引擎
   SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

2. 会话存储方式:

   会话存储方式决定了会话数据在哪里存储,可以是数据库、缓存、文件系统等。具体配置取决于选择的引擎。
   # 使用数据库作为会话存储
   DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.sqlite3',
           'NAME': BASE_DIR / "db.sqlite3",
       }
   }
   # 使用缓存作为会话存储
   CACHES = {
       'default': {
           'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
           'LOCATION': '127.0.0.1:11211',
       }
   }

3. Cookie设置:

   会话数据通常是通过Cookie传递的,你可以配置Cookie的一些参数,如过期时间、域名等。
   # 设置会话Cookie的过期时间(单位为秒)
   SESSION_COOKIE_AGE = 1209600  # 两周的秒数

   # 设置会话Cookie的域名
   SESSION_COOKIE_DOMAIN = None  # None表示使用默认域名

   # 设置会话Cookie的路径
   SESSION_COOKIE_PATH = '/'

   # 如果为True,会话Cookie仅通过HTTPS传输
   SESSION_COOKIE_SECURE = False

4. 清理会话周期(Clean session cycle):

   Django会定期清理过期的会话数据。你可以设置 SESSION_COOKIE_AGE 和 SESSION_SAVE_EVERY_REQUEST 以控制会话的清理周期。
   # 设置会话Cookie的过期时间(单位为秒)
   SESSION_COOKIE_AGE = 1209600  # 两周的秒数

   # 如果为True,每个请求都被视为活动请求,从而刷新会话的过期时间
   SESSION_SAVE_EVERY_REQUEST = True

这些是一些常见的会话配置选项,具体的配置取决于你的应用需求。请根据项目的具体情况进行调整和配置。确保在配置之后重新启动Django开发服务器以使更改生效。


转载请注明出处:http://www.zyzy.cn/article/detail/7237/Django