Python全系列 教程
3567个小节阅读:5929.9k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
官网:https://docs.djangoproject.com/zh-hans/4.1/topics/http/sessions/#using-database-backed-sessions
要应用session,必须开启session中间层,在settings.py中:
xxxxxxxxxx
MIDDLEWARE = [
# 启用 Session 中间层
'django.contrib.sessions.middleware.SessionMiddleware',
]
Django中默认支持Session,其内部提供了5种类型供开发者使用:
五种方式的启动配置各异,但是启动完成后,在程序中的使用方式都相同:
数据库方式
xxxxxxxxxx
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
# 数据库类型的session引擎需要开启此应用,启用 sessions 应用
INSTALLED_APPS = [
'django.contrib.sessions',
]
缓存
速度最快,但是由于数据是保存在内存中,所以不是持久性的,服务器重启或者内存满了就会丢失数据
xxxxxxxxxx
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
缓存+数据库
速度次于单纯缓存方式,但是实现了持久性,每次写入高速缓存也将写入数据库,并且如果数据尚未存在于缓存中,则使用数据库
xxxxxxxxxx
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
文件
xxxxxxxxxx
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
# 设置文件位置, 默认是 tempfile.gettempdir(),
# linux下是:/tmp
# windows下是: C:\Users\51508\AppData\Local\Temp
SESSION_FILE_PATH = 'd:\session_dir'
加密cookie
基于cookie的session,所有数据都保存在cookie中,一般情况下不建议使用这种方式
xxxxxxxxxx
SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'
实时效果反馈
1. 关于Django会话,Session说法错误的是?
A Django默认开启session中间件
B session通过引擎配置数据保存的位置
C session默认保存在数据库中
D session数据只能保存在服务器
答案
1=>D