Django项目默认启用Session。
可以在settings.py文件中查看
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
在settings.py文件中,可以设置session数据的存储方式,有三种:
1.默认保存到数据库中,安全但是访问慢
SESSION_ENGINE='django.contrib.sessions.backends.db'
2.保存到本地缓存中,访问快,但容易丢失
SESSION_ENGINE='django.contrib.sessions.backends.cache'
3.混合存储,优先从本机内存中存取,如果没有则从数据库中存取。
SESSION_ENGINE='django.contrib.sessions.backends.cached_db'
4.采用redis去保存session数据,但需要引入第三方扩展包
4.1.安装
pip install django-redis
4.2.在setting.py中配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache", # 本地使用redis缓存
"LOCATION": "redis://127.0.0.1:6379/1", # 指定redis缓存的位置
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
# 设置session存储方式为本地:
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 使用的本地存储的配置: default
SESSION_CACHE_ALIAS = "default"