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 小时前
基于 Python Django 的校园互助平台(附源码,文档)
开发语言·python·django·校园互助·校园互助平台
web137656076432 小时前
纯 Python、Django、FastAPI、Flask、Pyramid、Jupyter、dbt 解析和差异分析
python·django·fastapi
硬件人某某某7 小时前
基于Django的手办交易平台~源码
后端·python·django
2501_9044477416 小时前
OPPO发布新型折叠屏手机 起售价8999
python·智能手机·django·virtualenv·pygame
2501_9044477416 小时前
华为发力中端,上半年nova14下半年nova15,大力普及原生鸿蒙
华为·智能手机·django·scikit-learn·pygame
橘子师兄18 小时前
分页功能组件开发
数据库·python·django
带娃的IT创业者21 小时前
《Python实战进阶》专栏 No.3:Django 项目结构解析与入门DEMO
数据库·python·django
m0_748245341 天前
python——Django 框架
开发语言·python·django
begei1 天前
在Django中安装、配置、使用CKEditor5,并将CKEditor5录入的文章展现出来,实现一个简单博客网站的功能
数据库·django·sqlite
m0_748232391 天前
基于OpenCV和Python的人脸识别系统_django
python·opencv·django