Динамически предотвращать открытие страницы, если ее активно использует кто-то другой

Я использую Django для бэкенда, и обычный HTML/CSS/JavaScript для фронтенда без каких-либо интерактивных библиотек пользовательского интерфейса, таких как React.

Текущий подход:

У меня есть страница, содержащая форму для редактирования экземпляра X в качестве примера. Если кто-то открывает эту страницу для редактирования, я добавляю в свою базу данных значение, что данный экземпляр заблокирован этим редактором. После того, как он закончит редактирование, он должен нажать кнопку "сохранить" или "закрыть", чтобы разблокировать его для других.

Проблема:

Если редактор не сохранил и забыл "закрыть", экземпляр останется заблокированным, пока он не вернется и не закроет его.

Требуемый подход:

Но я хочу динамически запретить другим открывать его, потому что кто-то сейчас активно редактирует X. Под словом "активно" подразумевается, что этот пользователь использует страницу в браузере. Под словом "активно" я подразумеваю, что этот пользователь использует страницу сейчас, и вкладка страницы активна в его браузере. Поэтому, если он просто закроет вкладку или браузер, или оставит вкладку неактивной в течение 5 минут, я хочу разблокировать экземпляр для редактирования.

Вернуться на верх