Как Django заставить хранить Session в словаре?

Для того чтобы заставить Django хранить сессии в виде словаря, а не в базе данных, необходимо настроить несколько параметров в файле настроек settings.py.

1. Сначала нужно установить django-redis для того, чтобы использовать Redis в качестве хранилища сессий. Это можно сделать с помощью команды:

pip install django-redis

2. Далее необходимо добавить Redis в качестве кэша в настройки Django. Для этого нужно добавить следующий код в settings.py:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.redis.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379/1',
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
        }
    }
}

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'default'

3. Теперь Django будет использовать Redis для хранения сессий. Можно убедиться в этом, создав новую сессию во view:

from django.http import HttpResponse

def set_session(request):
    request.session['my_key'] = 'my_value'
    return HttpResponse("Session value set")

4. После этого значение my_key с ключом my_value будет храниться в Redis.

Таким образом, следуя этим шагам, вы настроите Django, чтобы он хранил сессии в виде словаря, используя Redis в качестве сервера хранения.