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

相关推荐
码云骑士1 天前
31-慢查询排查全流程(上)-Django-Debug-Toolbar与EXPLAIN入门
后端·python·django
龙腾AI白云1 天前
数字孪生和世界模型,二者的技术边界正在慢慢融合吗?
人工智能·django·知识图谱
码云骑士1 天前
30-在线图书管理系统-Django从零搭建到上线部署完整实战
后端·python·django
2601_961875242 天前
花生十三资源盘|电子版|全科
python·django·flask·virtualenv·scikit-learn·pygame·tornado
码云骑士2 天前
28-Docker部署Django(下)-docker-compose编排与静态文件处理
docker·容器·django
码云骑士2 天前
23-Django-ORM的N+1问题-select_related与prefetch_related详解
后端·python·django
摸摸芋2 天前
Django框架(1)
后端·python·django
码云骑士2 天前
27-Docker部署Django(上)-从2GB到180MB的镜像瘦身实战
docker·容器·django
杰杰7982 天前
DRF的分页讲解-入门篇 三个基础分页类介绍
python·django
王小王-1232 天前
基于电脑硬件市场数据分析与可视化系统
数据库·数据分析·django·sqlite·电脑·电脑硬件数据·电脑硬件市场分析