Ранний выход из Django Admin - PullRequest
       5

Ранний выход из Django Admin

2 голосов
/ 10 января 2011

Я работаю над проектом Django 1.2.3 и обнаружил, что сеанс администратора, по-видимому, заканчивается очень рано, примерно через минуту после входа в систему, даже когда я его использую.

Изначально у меня были следующие настройки:

SESSION_COOKIE_AGE=1800
SESSION_EXPIRE_AT_BROWSER_CLOSE=True

Я думал, что проблема может быть в том, что мое хранилище сеансов неправильно настроено, поэтому я попытался настроить сеанс для хранения в локальной памяти, добавив:

SESSION_ENGINE = "django.contrib.sessions.backends.cache"
CACHE_BACKEND = 'locmem://'

Однако проблема по-прежнему возникает.Есть ли что-то еще, что могло бы привести к тому, что время ожидания сеанса администратора было бы слишком рано, даже когда пользователь активен?

1 Ответ

3 голосов
/ 29 марта 2011

Кэширование сессий в locmem: // означает, что вы теряете сеанс при каждом перезапуске процесса python.Если вы работаете под сервером разработки, это будет в любое время, когда вы сохраните файл.В производственной среде это будет зависеть от вашей инфраструктуры - например, mod_wsgi в apache перезапустит python после определенного количества запросов (которые легко настраиваются).Если у вас настроено несколько процессов Python, вы теряете сеанс всякий раз, когда ваш запрос переходит к другому процессу.

Более того, если в производственной среде несколько серверов, locmem: // будет ссылаться толькоодин серверный процесс.

Другими словами, не используйте locmem: // для хранения сессии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...