jquery - 从 JSON 更新 Django 中的数据表

标签 jquery python json django heroku

我对 Web 开发还很陌生,我正在尝试在 Django 中实现一个显示动态数据表的网页。我希望数据表能够显示数据库中的所有对象,并且当通过 JSON 传入新对象时,数据表会自行更新,而无需用户刷新页面。这是我现在所拥有的:

    <table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Room</th>
                <th>Request</th>
                <th>Time</th>
                <th>Mark as Done</th>
                <th>Cannot Do</th>
            </tr>
        </thead>
        <tbody>
            {% for request in requests %}
              <tr>
                <td>{{ request.room }}</td>
                <td>{{ request.request }}</td>
                <td>{{ request.time }}</td>
                <td>{{ request.done }}</td>
                <td>{{ request.cannot }}</td>
              </tr>
            {% endfor %}
        </tbody>
    </table>

这张数据表(使用dataTables框架)显示了Django数据库中的所有请求对象,但只加载一次。 (页面加载时,页面的 Django View 根据数据库查询传入“请求”。)我尝试研究这个问题,似乎我需要使用 jQuery 和/或 Ajax,但我不是确定如何。我看到 dataTables 有一个 row.add() 函数,但同样,我不确定如何实现它以使用推送到站点的 JSON 信息来更新数据表。

此外,我设想这将在 Heroku dyno 上运行。我的计划是让 Heroku 充当 webhook 的协调播放器,其中另一个应用程序的 JSON 输出被传递给 Heroku,Heroku 将更新 Django 中的数据库并触发网页上的数据表动态更新。

我的想法正确吗?非常感谢任何帮助,如果有比我想到的更好的解决方案,请告诉我。

最佳答案

页面加载时首先加载一个空表。

在数据表中使用ajax加载数据 引用here

使用您的 json url 更改 '../ajax/data/arrays.txt'

对于刷新,您可以使用 setInterval 并通过 ajax 调用您的 json url 并推送到数据表。引用here

关于jquery - 从 JSON 更新 Django 中的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44817089/

相关文章:

json - RapidJson 和 Boost Json 解析器

jquery - 防止固定位置元素在 jQuery 动画期间闪烁

python - 将python包从本地目录导入解释器

python - 如何更改 Flask 中入口点文件的名称?

c - 如何使用 c yajl 进行流式传输

c# - 嵌入式严格类型的 .NET 对象的 JSON 序列化和反序列化

javascript - 验证后将值发布到警报框

php - 即使返回错误,ajax 也始终运行成功

javascript - 将 $scope.variable 从一个 View 传递到另一个 View

python - 计算加类费时,哪一项比较好?