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

相关推荐
言乐615 小时前
Python自动去除水印
开发语言·python·django·virtualenv·pygame
小蒜学长17 小时前
基于Python的动物救助站管理系统的设计与实现(代码+数据库+LW)
数据库·后端·python·django·动物救助
言乐617 小时前
Python实现关税自动计算模型
开发语言·python·django·virtualenv·pygame
FYKJ_20102 天前
springboot贺州地方新闻网站87812-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·django·课程设计
高洁012 天前
AI视频生成技术:从静态图文到动态视觉的内容智能革命
python·深度学习·django·transformer·tornado
我的xiaodoujiao2 天前
Django 基础知识详细图文教程 12-Django 模型定义与使用 2
后端·python·django
Wx-bishekaifayuan2 天前
django个性化旅游路线推荐平台49005-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
FYKJ_20102 天前
django电影推荐系统55066-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
Wx-bishekaifayuan3 天前
springboot生活易购超市管理系统54086-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
溪语流沙3 天前
Django + Vue电商项目第005讲:后端骨架|Django初始化、配置分层与DRF接入
vue.js·后端·python·django