Узнать, когда пользователь покидает страницу в django

У меня есть ajax-функция, которая отправляет запросы к представлению Django каждую секунду:

function get_updates() {
    $.ajax({
        url: full_path,
        type: 'GET',
        data: {latest_pk: latest_pk},

        success: function(json) {
            ...
        },

        complete: function(data) {
            setTimeout(get_updates, 1000);
        }
    });
}

get_updates();

get метод представления выглядит следующим образом:

def get(self, request, *args, **kwargs):
    if request.GET:
        # If there are GET parameters, use them to return updates.
        response = self.get_updates(request.GET.get("latest_pk"))
        return JsonResponse(response)
    else:
        # Otherwise if the url is simply requested,
        # return the rendered chat page.
        return super().get(request, *args, **kwargs)

Как я могу выполнить некоторый код в Django, после того как запросы перестали отправляться? Мне нужно сохранить время последнего запроса.

Попробуйте сделать это в javascript, там есть событие под названием ."beforeunload".
Это просто идея, как вы можете этого добиться

<script>
window.addEventListener("beforeunload",function(){
      $.ajax({
        url: full_path,
        type: 'GET',
        data: {latest_pk: latest_pk},

        success: function(json) {
            // add your other logic here
        }
    });
  


});
</script>
Вернуться на верх