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

标签 django django-signals page-refresh

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

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

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

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

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

谁能帮帮我?

非常感谢。

最佳答案

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

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

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

关于如果其他用户更改数据,Django 刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8106230/

相关文章:

python - 如何修复 ImportError : No module named main. 模型

python - 使用 ReportLab 处理大型 PDF 所需的时间呈指数级增长

python - 模型字段值未更新 m2m_changed(Django)

python - save() 缺少 1 个必需的位置参数 : 'self' Error while using Django Signal Dispatcher

jQuery form.submit() 刷新页面而不是提交

python - DRF : ModelSerializer for nested JSON data

jquery - 在选项元素中显示 django-cms 子菜单

python - Django 信号与覆盖保存方法

firefox - 刷新书签中的收藏夹图标(Firefox)

javascript - 在 Rails 中提交表单,无需重新加载页面