Django - Обновление флажка кнопки всем пользователям в реальном времени

В приложении django у меня есть такой флажок, он обновляется, проверяя фактическое значение в базе данных при загрузке страницы, когда пользователь меняет его, он обновляется снова. Это глобальный переключатель, который могут видеть все пользователи, мой вопрос в том, как я могу обновить его для всех пользователей, если один изменит его?

<input type="checkbox" class="form-check-input" id="customSwitch1" checked>

Я тестировал обновление каждые 5 секунд с помощью сокетов, и это работает. Но я не знаю, существует ли другой способ сделать это непосредственно с помощью django.

Есть предложения?

Вы можете использовать ajax в вашем шаблоне и сделать get запрос с интервалом. если вы не делаете внешний вызов api, то это вариант.

   $.ajax({

        type: 'GET',
        url : "{% url "youre urls.py url in django%}",
        success: function(response){
            console.log(response);
         
            for (var key in response.messages)
//do your thing

            
        },
        error: function(response){
            alert('An error occured')
        }
    });
},1000);   --> your interval

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