Django 提供的会话(Session)相关的设置说明
SESSION_COOKIE_AGE
说明:定义会话 Cookie 的有效时间,单位为秒。
默认值:1209600(即 2 周)。
示例:
SESSION_COOKIE_AGE = 3600 # 1小时
SESSION_EXPIRE_AT_BROWSER_CLOSE
说明:如果设置为 True,则会话在用户关闭浏览器时过期。
默认值:False。
示例:
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_NAME
说明:定义会话 Cookie 的名称。
默认值:sessionid。
示例:
SESSION_COOKIE_NAME = 'my_session_cookie'
SESSION_COOKIE_PATH
说明:定义会话 Cookie 的路径。
默认值:/(整个网站)。
示例:
SESSION_COOKIE_PATH = '/myapp/'
SESSION_COOKIE_DOMAIN
说明:定义会话 Cookie 的域名。
默认值:None(当前域名)。
示例:
SESSION_COOKIE_DOMAIN = '.example.com'
SESSION_COOKIE_SECURE
说明:如果设置为 True,则会话 Cookie 仅通过 HTTPS 传输。
默认值:False。
示例:
SESSION_COOKIE_SECURE = True
SESSION_COOKIE_HTTPONLY
说明:如果设置为 True,则会话 Cookie 不能通过 JavaScript 访问,增加安全性。
默认值:False。
示例:
SESSION_COOKIE_HTTPONLY = True
SESSION_ENGINE
说明:定义会话存储后端。可以选择的后端包括:
django.contrib.sessions.backends.db:使用数据库存储会话(默认)。
django.contrib.sessions.backends.cache:使用缓存存储会话。
django.contrib.sessions.backends.cached_db:使用缓存和数据库存储会话。
django.contrib.sessions.backends.file:使用文件存储会话。
django.contrib.sessions.backends.cookie:使用 Cookie 存储会话(不推荐用于敏感数据)。
默认值:django.contrib.sessions.backends.db。
示例:
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_SAVE_EVERY_REQUEST
说明:如果设置为 True,则每次请求都会更新会话的过期时间。
默认值:False。
示例:
SESSION_SAVE_EVERY_REQUEST = True
SESSION_SERIALIZER
说明:定义会话数据的序列化方式。可以选择的序列化器包括:
django.contrib.sessions.serializers.JSONSerializer:使用 JSON 序列化(默认)。
django.contrib.sessions.serializers.PickleSerializer:使用 Pickle 序列化(不推荐用于不可信数据)。
默认值:django.contrib.sessions.serializers.JSONSerializer。
示例:
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
总结
以上是 Django 中与会话相关的一些重要设置。根据你的应用需求和安全要求,可以对这些设置进行调整,以优化用户体验和安全性。