Django 提供的会话(Session)相关的设置说明

时间:2024-12-21 15:23:22

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 中与会话相关的一些重要设置。根据你的应用需求和安全要求,可以对这些设置进行调整,以优化用户体验和安全性。

相关文章