Как сохранить обновленный текстовый ввод в django?

Я новичок в django и хочу создать сайт для выполнения задач. В настоящее время я могу добавить новую задачу и показать все задачи на одной странице (задачи находятся в текстовых вводах).

Однако я не могу понять, как изменить и сохранить вводимый текст. Я хотел бы иметь возможность изменить текст в текстовом вводе и каким-то образом сохранить его без необходимости переходить на другую страницу (например: нажать кнопку редактирования, которая переходит на новый url для редактирования и сохранения текста).

Views.py

class TaskCreate(CreateView):
model = Task
fields = ['user', 'title']
template_name = 'todo_list/task_list.html'

success_url = reverse_lazy('tasks')

def get_context_data(self, **kwargs):
    list = super(TaskCreate, self).get_context_data(**kwargs)
    list["tasks"] = self.model.objects.all()
    return list

task_list.html

<html>
<h1>Today</h1>

<form method="POST">
    {% csrf_token %}
    {{form.as_p}}
    <input type='submit'/>
</form>

<table>
    {% for task in tasks %}
    <tr>
        <td>
            <input type="text" name="task-value" value="{{task.title}}">
        </td>
    </tr>
    {% empty %}
        <h3>No tasks for today</h3>
    {% endfor %}
</table>
</html>

Models.py

class Task(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
title = models.CharField(max_length=200)
complete = models.BooleanField(default=False)
created = models.DateTimeField(auto_now_add=True)

def __str__(self):
    return self.title

class Meta:
    ordering = ['complete']
Вернуться на верх