Живые данные в Django - Ajax
Моя цель - добавить данные для отображения на экране без обновления страницы. В этом коде я использую un setInterval, но мне это не нравится. Я хочу использовать метод, который обновляет данные только когда я добавляю новые данные с помощью администратора Django.
JavaScript
let tab = document.getElementById('tabella');
setInterval(function() {
fetch("{% url 'ajax' %}")
.then(response => response.json())
.then(result => {
tab.innerHTML = '';
for(let i in result.users) {
var text = `<tr><td>${result.users[i].nome}</td>
<td>${result.users[i].cognome}</td>
<td>${result.users[i].telefono}</td>
<td>${result.users[i].email}</td></tr>`;
tab.innerHTML += text;
}
});
}, 1000)
views.py
def Home(request):
return render(request, 'index.html')
def Ajax(request):
queryset = Utenti.objects.all()
return JsonResponse({'users':list(queryset.values())})
urls.py
from django.urls import path
from .views import Home, Ajax
urlpatterns = [
path('', Home, name='index'),
path('ajax', Ajax, name='ajax'),
]