Автоматическое обновление данных базы данных HTML в Django - Ajax?

У меня есть Django-сервер, который размещен локально и отображает данные датчиков из базы данных MySQL. Эти данные отображаются на странице instruments.html через переменные {{qs.value}}, которые поступают из views.py, models.py и URLs.py. Страница views.py выглядит следующим образом:

from django.http import HttpResponse
from django.shortcuts import redirect, render
from .models import Sensorresult

def db(request):
    qs = Sensorresult.objects.using('Vision').get(sensorresult='1')
    return render(request, 'authenticate/instruments.html',{'qs':qs})

Проблема заключается в том, что я хочу, чтобы информация базы данных обновлялась на html каждую секунду, тогда как в настоящее время она обновляется только при обновлении страницы. Я знаю, что могу разместить строку javascript в верхней части страницы и заставить всю веб-страницу постоянно обновляться, но я хочу, чтобы обновлялись только значения базы данных. Есть ли у кого-нибудь предложения, как это сделать?

После гугления наткнулся на Ajax, однако это то, в чем у меня нет опыта, и я не уверен, как мой код будет отредактирован для этого?

Большое спасибо

Вместо того чтобы напрямую использовать полученные данные в HTML, вы можете попробовать получить их в javascript.

Если вы когда-нибудь создавали часы с помощью javascript, они не перезагружают всю страницу, но при этом обновляют время. Вы можете использовать тот же способ для обновления полученных данных в HTML.

Вы можете рассмотреть возможность использования htmx.

Очень простая библиотека, которая убирает сложности JavaScript для обновления частей веб-страницы вместо полной перезагрузки страницы и позволяет сделать большую часть работы в html.

В их документации конкретно упоминается polling для обновления определенной части страницы, что, похоже, является именно тем, чего вы пытаетесь достичь.

Вернуться на верх