Как я могу обновить мою таблицу {% for x in list %} с помощью setInterval() в Django?

[ПРИМЕЧАНИЕ] Я действительно новичок в веб-разработке. Пожалуйста, учтите, что я могу делать ошибки и задавать глупые вопросы. Извините за все.

Здравствуйте, я пытаюсь сделать таблицу для студентов с помощью Django + Ajax. Но есть проблема, которую я действительно не могу понять, как я могу реализовать мой ajax код для каждой строки в таблице.

Теперь, я беру первый индекс каждого поля в моем ajax коде. И ajax обновляет это поле в таблицах каждую секунду. Но я хочу обновлять каждую ячейку и строку каждую секунду.

Также я пытался добавить новую ячейку с помощью append(). Это не работает из-за {% for students in object_list %}

Я не понял, как добавить новую строку append() в {% for students in object_list %}

В моем html это тело таблицы и код ajax.

infoindex.html

<table class="table table-light" id="studentstable">
  <thead>
     <tr>
        <th scope ="col">Numara</th> 
        <th scope ="col">Adı</th> 
        <th scope ="col">Soyadı</th> 
        <th scope ="col">Yaşı</th>  
        <th scope ="col">Cinsiyet</th>
     </tr>
     <tbody id="tbodyid">
        {% for students in object_list %}
        
        <tr>
        <td id="num">{{students.num}}</td>
        <td id="first_name">{{students.first_name}}</td>
        <td id="last_name">{{students.last_name}}</td> 
        <td id="age">{{students.age}}</td>   
        <td id="gender">{{students.gender}}</td>
        </tr>
        {% endfor %}
     </tbody>
  </table> 

<script>
   setInterval(function (){
      $.ajax({
         url : "http://127.0.0.1:8000/studentsapi",
         dataType: "json",
         success : function (data) {
            var element = document.getElementById('num').innerText;
           
                    if (element != num){
                          $('#num').text( data[0].num);
                          $('#first_name').text( data[0].first_name);
                          $('#last_name').text( data[0].last_name);
                          $('#age').text( data[0].age);
                          $('#gender').text( data[0].gender);
                          $("tbody").append(
                          "<tr><td>" + studentsFirstname + "</td><td>" + studentsLastname + "</td><td>" + studentsAge +"</td><td>" + studentsGender"</td></tr>"
                           )
                          }
  
                       },
                     });
                 }, 1000);

А это моя модель

models.py

class Students(models.Model):
num = models.IntegerField(primary_key=True, verbose_name="Numara")
Female = 'F'
Male = 'M'
choices = ((Female, 'Female'), (Male, 'Male'))
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
age = models.IntegerField()
gender = models.CharField(max_length=1, choices=choices, default=Female)

Это мой JsonResponse в views.py

views.py

def get_student_list(request):
    students = list(Students.objects.all().values())
    
    return JsonResponse(students, safe=False)

class HomView(ListView):
  model = Students
  template_name = 'infoindex.html'

А это мой url для json

urls.py

 re_path(r'^studentsapi$', views.get_student_list),

Спасибо!

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