Я работаю над веб-сайтом, который требует, чтобы мы регистрировали пользователя после N минут бездействия. Есть ли какие-либо передовые методы для использования Django?
Регистрация пользователей с сайта Django после N минут бездействия
Ответ 1
Посмотрите на промежуточное программное обеспечение сеанса и его настройки. В частности, эти два:
SESSION_COOKIE_AGE
По умолчанию: 1209600 (2 недели, в секундах)
Возраст сеансовых файлов cookie, в секунд.
SESSION_SAVE_EVERY_REQUEST
По умолчанию: False
Сохранять ли данные сеанса на каждый запрос. Если это ложь (по умолчанию), тогда данные сеанса будут сохраняться только если он был изменен - то есть, если какой-либо из его значений словаря был назначен или удален.
Установка низкого SESSION_COOKIE_AGE
и поворота SESSION_SAVE_EVERY_REQUEST
on должна работать для создания "скользящего" срока действия.
Ответ 2
Установка возраста cookie сеанса в промежуточном программном обеспечении сеанса django просто устанавливает время истечения срока в заголовке set-cookie, переданном обратно в браузер. Это только соблюдение браузером времени истечения срока действия, которое обеспечивает "выход из системы".
В зависимости от причин, по которым вам требуется простоя, вы можете не учитывать соблюдение браузером времени истечения срока действия. В этом случае вам потребуется расширить промежуточное программное обеспечение сеанса, чтобы сделать это.
Например, вы можете сохранить время истечения срока действия вашего механизма сеанса, который вы обновляете с помощью запросов. В зависимости от характера трафика на ваш сайт, вы можете захотеть только вернуться к объекту сеанса один раз за X секунд, чтобы избежать чрезмерной записи db.
Ответ 3
Попробуйте установить settings.SESSION_COOKIE_AGE в N * 60 секунд.
http://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-age