如果其他用户更改数据,Django 刷新页面

Fra*_*ino 2 django django-signals page-refresh

我有一个测试 django 应用程序。

在一页中,测试向所有用户显示相同的问题。

我希望当用户正确回答时,向其他活动用户的浏览器发送信号以刷新下一个问题。

我一直在学习 django 中的信号,我正在学习使用它们,但我现在不知道如何将“刷新信号”发送到客户端浏览器。

我认为它可以使用 javascript 代码来检查某个值(实际问题)是否更改,如果更改会重新加载页面,但我不知道这种语言,而且我发现的信息很混乱。

有谁能够帮助我?

非常感谢。

Com*_*umb 5

没有现有的方法可以将事件从服务器发送到浏览器。但是你可以让你的网页定期轮询你的服务器(比如每 5 秒)。

javascript/jquery 中的代码可能如下所示

setInterval(function(){
    $.post("your_ajax_handler_url/is_answerd", userId, function(xhr){
       if(xhr.responseText == "answered"){
          location.reload(true);
       }  
    }
 }, 5000);
Run Code Online (Sandbox Code Playgroud)