我如何使用 Datatable (Datatable.JS) - Django AJAX 更新 JSON?

问题描述 投票:0回答:1

我尝试使用 ajax 更新从 Django 到数据表模板,就像这段代码

模板[shipment.html]

      <table id="example">
        <thead>
         <tr>
           <th>User</th>
           <th>Author</th>
         </tr>
        </thead>
          <tbody>
          </tbody>
       </table>

我用它来获取 json 数据,然后现在已经显示了。

views.py

def getlist(request):
    if request.method == "GET":
        data = serializers.serialize("json", Editors.objects.all())
        respon = json.loads(data)
        return HttpResponse(json.dumps(respon, ensure_ascii=False),
                            content_type="application/json")

json(获取列表)

[{"model": "tracking.editors", "pk": 1, "fields": {"editor_name": "This AA", "num_users": 10}}, {"model": "tracking.editors", "pk": 2, "fields": {"editor_name": "This BB", "num_users": 20}}, {"model": "tracking.editors", "pk": 3, "fields": {"editor_name": "This CC", "num_users": 30}}, {"model": "tracking.editors", "pk": 4, "fields": {"editor_name": "This DD", "num_users": 40}}]

Javascript

<script type="text/javascript" language="javascript" class="init">
    $(document).ready(function () {
        $('#example').DataTable({
            ajax: {
                url: "{% url 'getlist' %}",
                type: 'GET',
                dataSrc: "",
            },
            columns: [
                {data: "fields.editor_name"},
                {data: "fields.num_users"},
            ],
        });



    });

</script>

现在它的数据已经显示在我的表格上,但不是实时更新。 当我的数据库中有新记录时,我该如何做到实时更新?

我需要有人帮忙解决这个问题,可以像我的方法一样使用,或者需要按照我们的方法使用,谢谢

python json django datatable
1个回答
0
投票

如果您尝试使用 Django,我建议您更改场景的路径。 HTMX js 库对于 Django 来说非常棒。它将请求发送到服务器并以 html 形式呈现响应。您可以使用部分内容更新页面,而无需使用干净且可维护的代码进行刷新。 如果你想使用 Django 作为前端并减少一些意大利面条式代码,这是最好的方法。如果我跑题了,我很抱歉。

© www.soinside.com 2019 - 2024. All rights reserved.