Django удаление записи с помощью ajax исчезает только после ручного обновления

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

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

html

views.py

def delete_record(request, id):
    obj = get_object_or_404(Dog, id=id)

    if request.method == 'POST':
        obj.delete()
        return JsonResponse({})

urls.py

path('dog/delete_dog/<int:id>', views.delete_record, name='delete_record'),

Я также попробовал следующую функцию, но она ничего не изменила.iews.py

#views.py

def delete_record(request, id):
    obj = get_object_or_404(Dog, id=id)

    if request.method == 'POST':
        obj.delete()
        return redirect('dogs')


def dogs(request):
    dogs = Dog.objects.all()

    if request.user.is_authenticated:
        return render(request, 'dog/dogs.html', {'dogs':dogs})
    else:
        return login_user(request)

#urls.py
path('dog/dogs/', views.dogs, name='dogs'),

Сначала вам нужно присвоить id вашим строкам.

 {% for dog in dogs %}
            <tr id="{{dog.id}}">
                <td>{{ dog.dog_name }}</td>
                <td>{{ dog.gender }}</td>

Затем вы можете удалить строку после успешного ajax-вызова.

           $.ajax({
                    type: "POST",
                    headers:{'X-CSRFToken':csrftoken},
                    url: $(this).attr('data-url'),
                    dataType: 'json',
                    success: (data) => {
                        document.getElementById(this.parent.id).remove()
                    },
                    error: (error) => {
                        console.log(error);
                    } 
                });

Это приведет к обновлению таблицы и удалению элемента dom.

Вот ваш полный обновленный код.-:

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