У меня есть частный сайт, который требует входа для всех страниц. Когда пользователь отправляется на редактирование записи, я не хочу блокировать запись. Я хочу сохранить запись доступной для других. Я разработал систему, использующую вызовы AJAX для django, используя dajax / dajaxice, чтобы получить самого последнего человека и дату и время редактирования для записи. Если последнее изменение не было выполнено текущим пользователем, окно предупреждения уведомляет пользователя о том, что другое лицо внесло изменения, так как они открыли запись, и они должны обновить страницу, чтобы получить самую последнюю версию данных.
Это все хорошо, и отлично работает в нашей ситуации. У меня есть тайм-аут сеанса, который, когда истечет время ожидания, отправит пользователя в приглашение на вход в систему. Если пользователь оставляет страницу открытой и покидает компьютер, мы хотим защитить конфиденциальные данные. Это также работает отлично.
Моя проблема заключается в том, что, когда выполняется вызов AJAX для проверки версии данных, чтобы увидеть, изменились ли они, он также сохраняет сеанс, поэтому сеанс никогда не истечет, независимо от того, как долго они находятся на странице. без присмотра.
Есть ли способ в представлении обойти SESSION_SAVE_ON_EVERY_REQUEST, чтобы только этот запрос не инициировал сохранение. Я знаю, что могу вручную сохранить сеанс в каждом ДРУГОМ представлении, но это кажется неправильным. Я полагаю, что смогу написать промежуточное программное обеспечение, которое проверяет запрошенное представление и сохраняет сеанс только в том случае, если оно не является этим представлением, но я не уверен, что это также лучшее решение.
Есть предложения?
Заранее спасибо.