javascript - 如何在不重新加载页面的情况下更新 Django 页面?

标签 javascript python ajax django

我的 Django 应用程序显示来自数据库的数据。这些数据在没有用户干预的情况下发生变化,即在幕后。每当它发生变化时,我希望网页能够更新更改的部分而无需重新加载整个页面。

很明显,AJAX 跃入脑海。当页面最初加载(或手动加载,稍后完全重新加载)时,呈现的模板加载一个运行 window.onload = update("all"), update(...) 的 JavaScript 依次触发许多 XMLHTTPRequests它再次返回数据,这些数据被转换为相应部分的 HTML 片段。一切正常。在初始页面加载时。

现在我发现自己处于一个将新对象保存到数据库的 Python 函数中。

如何让浏览器运行 update(...) ?

我是否需要以某种方式手动向映射到 View 的 url 发出请求,该 View 又呈现包含运行 update(...) 的 JavaScript 代码的模板???天哪!

我觉得我没有遵循通常的方法。 也许我只是站在问题面前。

谁能帮帮我?

最佳答案

2021 年更新:使用 channel :https://channels.readthedocs.io/en/latest/

你有两个选择

  1. 让浏览器使用 setTimeout() 轮询
  2. 研究 Comet——这是一种将数据从服务器推送到浏览器的技术。

这是关于 Comet in Django 的文章

关于javascript - 如何在不重新加载页面的情况下更新 Django 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1836861/

相关文章:

javascript - 动态家谱遍历 php javascript

javascript - 使用 Javascript 编写解析器的教程

javascript - 检索上次发送的消息

python - Django 接受 AM/PM 作为表单输入

javascript - 无法使用ajax和php将输入上传到mysql数据库

javascript - 使用 javascript 确定用户是否登录到 Joomla

javascript - 具有不透明度和 z-index 的 slider 无法正常工作

python - TypeError : 'CurrencyConverter' object is not callable

python - 使用 Pyrfc 的 SAP R/3 表中的条目数

javascript - 使用 AJAX 加载 Bootstrap 选择器