我尝试使用 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>
现在它的数据已经显示在我的表格上,但不是实时更新。 当我的数据库中有新记录时,我该如何做到实时更新?
我需要有人帮忙解决这个问题,可以像我的方法一样使用,或者需要按照我们的方法使用,谢谢
如果您尝试使用 Django,我建议您更改场景的路径。 HTMX js 库对于 Django 来说非常棒。它将请求发送到服务器并以 html 形式呈现响应。您可以使用部分内容更新页面,而无需使用干净且可维护的代码进行刷新。 如果你想使用 Django 作为前端并减少一些意大利面条式代码,这是最好的方法。如果我跑题了,我很抱歉。