Как я могу реализовать действие удаления в наборе представлений в django?

Вот мой файл представления.

import json
from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.parsers import JSONParser
from django.http import JsonResponse
from django.core import serializers
from .serializers import TodoSerializer
from .models import Todo

# Create your views here.


class TodoView(APIView):
    def post(self, request):
        serializer = TodoSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
        print(serializer.data)
        return JsonResponse(serializer.data, status=200)

    def get(self, request):
        obj_list = []
        for item in Todo.objects.all():
            if item.todo_delete is False:
                obj_list.append({"todo_id": item.todo_id, "todo_desc": item.todo_desc,
                                "todo_complete": item.todo_complete, "todo_delete": item.todo_delete})
        return JsonResponse({"todo": obj_list}, status=200)

    def update(self, request):
        return Response("Hello")

    def delete(self, request):
        print (request.data)
        return Response("Hello")

Я собираюсь реализовать действие удаления для конкретного todo, передав ему id. Front End часть здесь.

try {
    const res = await axios.delete(`${BASE_URL}/api/todo/${id}/`)
  } catch (e) {
    return { success: false, error: e }
  }

А url файла находится здесь

path('todo/', TodoView.as_view()),

Но я вижу эту ошибку

Not Found: /api/todo/e709750f-5bb6-4dba-b6b1-966beeeb9c3d/

Как я могу исправить эту ошибку?

  • Как правильно установить конечную точку удаления и получить id от клиента?
Вернуться на верх