连接上一篇
-
本篇介绍 不使用Django中session默认的存储方式,直接将session存储的地方配置到redis中
环境准备
- redis安装并启动
- 安装django-redis-session
pip install django-redis-sessions
项目配置
- 进行 SESSION 配置
SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS = {
'host': 'localhost', # redis服务ip地址
'port': 6379, # redis服务port
'db': 4, # 存储session的redis数据库
'password': '', # redis密码
'prefix': 'session', # redis存储信息前缀
'socket_timeout': 1
}
测试
- views.py中写入session
def set_session(request):
""""保存session数据"""
request.session['k1'] = 'Django'
request.session['k2'] = '123456'
request.session['k3'] = '123456'
return HttpResponse('保存session数据成功')
- urls.py中配置映射
path('set_session',views.set_session, name='se'),
- redis数据库
127.0.0.1:6379> select 4
127.0.0.1:6379[4]> keys *
1) "session:j3hvt24sykgkvx5j03xdzafftayl1gah"
BUG总结
- 今天在修改完配置的时候,死活写不进去,然后将更改了配置到现在的格式后,就OK了,之前的格式如下
SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS_HOST = 'localhost'
SESSION_REDIS_PORT = 6379
SESSION_REDIS_DB = 3
SESSION_REDIS_PASSWORD = ''
SESSION_REDIS_PREFIX = 'session'
这个坑踩得很尴尬,我又测试了一遍还是不能存入数据库,不知道有木有一样遇到的,mark一下。
网友评论