← Все записи

Django. Зарелизил встраиваемое приложение "django-multi-sessions"

Логотип Django

Данное расширение предоставляет интерфейсы для работы с несколькими сессионными бекендами. В основном предназначено для переноса сессий с одного механизма на другой, при этом не останавливая работу с сессиями, это так называемый “прозрачный перенос”.

Текущая версия: 0.0.3

Установить его можно так:


pip install django-multi-sessions

Или скачайте тарболл, распакуйте и выполните:


python setup.py install

Настройки

Надо в settings.py объявить “multi_sessions.session” как SESSION_ENGINE и заполнить SESSION_MULTISESSIONS_POOL, как в примере:


SESSION_ENGINE = "multi_sessions.session"
SESSION_MULTISESSIONS_POOL = (
    {
        "backend": "redis_sessions.session",
        "modes": ["read", "write", "delete"]
    },
    {
        "backend": "django.contrib.sessions.backends.db",
        "modes": ["read", "delete"]
    },
)

В этом примере redis-backend используется как приоритетное хранилище (чтение, сохранение/создание, удаление) данных, а database-backend используется только для чтения и удаления сессий, так как мы с него переходим на redis, то не имеет смысла в него сохранять данные.

Исходники

Исходные коды можно получить на гитхабе!

Комментарии 9

Архив обсуждения. Новые комментарии закрыты.

adw0rd

Нет конечно, но что-то мне подсказывает что ты меня троллишь :)

wd5 (Игорь)

Можно посмотреть на примеры сайтов использующих django-multi-sessions на практике?

madjardi

Скажите а как мнеявно указать в какое место мне сохранить данные (допустим у меня все сессии имеют “modes”: write

adw0rd

Укажите modes: write только тем кому надо явно сохранять данные. Сохраняются, насколько помню, по порядку следования бекендов в пуле.

Или я вас не понял? Опишите немного детальнее ваш вопрос

madjardi

Cохраняются, по порядку следования бекендов в пуле.

спасибо то, что надо