Как я могу редактировать содержимое главной страницы?

Работаю над небольшим проектом с использованием Django 3.2 и только что добавил кнопку редактирования на страницу, чтобы пользователь мог редактировать содержимое. Я сделал это с помощью форм и представлений, перенаправляя пользователя на другую страницу и редактируя содержимое, но я подумал, есть ли способ редактировать содержимое, не перенаправляя пользователя на другую страницу? Для лучшего понимания того, что я сделал до сих пор, покажу код ниже: models.py

from django.db import models
from django.contrib.auth.models import User
from django.db.models.deletion import CASCADE

# Create your models here.


class todo(models.Model):
    content = models.CharField(max_length=200)
    created = models.DateTimeField(auto_now_add=True)
    name = models.CharField(max_length=200, null=True)
    email = models.CharField(max_length=200, null=True)
    user = models.ForeignKey(User, on_delete=CASCADE, null=True)


    def __str__(self):
        return self.content

forms.py

class UpdateContent(forms.ModelForm):
    class Meta:
        model = todo
        fields = ['content']'

views.py

    contents = todo.objects.get(id=pk)

    form = UpdateContent(instance=contents)

    if request.method == 'POST':
        form = UpdateContent(request.POST, instance=contents)
        if form.is_valid():
            form.save()
            return redirect('/')

    context = {'form': form}
    return render(request, 'html/update.html', context)

home.html

table class="table table-dark table-hover table-bordered">
          <thead>
            <tr id="tr-table">
              <th id="text-left">#</th>
              <th id="text-center">ITEMS</th>
              <th id="text-right"><i class="material-icons">&#xe872;</i></th>
              <th id="text-right2"><i id="edit" class="material-icons">&#xe3c9;</i></th>
            </tr>
          </thead>  
          <tbody>
      
            {% for all_item in all_items%}
              <tr>
                <th id="row" scope="row"> {{ forloop.counter }} </th>
                <td id="content">{{ all_item.content }}</td>
                <form action="delete_todo/{{all_item.id}}/" method="post">
                  {% csrf_token %}
                  <td class="text-right-delete">
                    <button id="btn-delete" class="btn btn-outline-danger">Delete</button>
                  </td>
                </form>
                <td class="text-left-edit"><a class="btn btn-outline-info" href="{% url 'todo:update' all_item.id %}">Edit</a></td>
             </tr>
            {% endfor %}
          </tbody>
        </table>
Вернуться на верх