Как добавить данные в базу данных Django одним нажатием кнопки с помощью JS

Я пытаюсь добавить эти данные в базу данных при нажатии на них. Они обновляются на моем сайте, который является статическим. Но данные не обновляются в базе данных.

Отображение списка из базы данных на index.html

<ul id="myUL">
    {% for name in names %}

    {% if name.com == True %}
    <li class="checked">{{name.names}}</li>
    {% else %}
    <li>{{name.names}}</li>
    {% endif %}
    {% endfor %}
</ul>

Код на JavaScript в index.html. Я хочу сделать так, чтобы если я нажму на кнопку, то данные будут добавлены в базу данных. Затем, если я обновлю страницу, то будет показана новая задача, которую я реализовал. Она покажет.

Также при проверке элемента будет обновляться значение true или false. Когда я проверю одну из задач, она автоматически обновит базу данных.

// Add a "checked" symbol when clicking on a list item
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
  if (ev.target.tagName === 'LI') {
    ev.target.classList.toggle('checked');
  }
}, false);

// Create a new list item when clicking on the "Add" button
function newElement() {
  var li = document.createElement("li");
  var inputValue = document.getElementById("myInput").value;
  var t = document.createTextNode(inputValue);
  li.appendChild(t);
  if (inputValue === '') {
    alert("You must write something!");
  } else {
    document.getElementById("myUL").appendChild(li);
  }
  document.getElementById("myInput").value = "";

  var span = document.createElement("SPAN");
  var txt = document.createTextNode("\u00D7");
  span.className = "close";
  span.appendChild(txt);
  li.appendChild(span);

  for (i = 0; i < close.length; i++) {
    close[i].onclick = function() {
      var div = this.parentElement;
      div.style.display = "none";
    }
  }
}

models.py

from django.db import models

# Create your models here.


class todo(models.Model):
    names = models.CharField(max_length=128)
    com = models.BooleanField()
    
    def __str__(self):
        return f"{self.names} ({self.com})"

views.py

from django.shortcuts import render
from .models import todo



# Create your views here.

def index(request):
    return render(request, "mytasks/index.html", {
        "names": todo.objects.all()
    })
Вернуться на верх