Как удалить объект с помощью axios и Django?

У меня есть react Frontend, и Django backend. Я в основном пытаюсь отправить некоторые данные на бэкенд, чтобы отфильтровать нужный объект для его удаления.

Однако, я могу удалить объект только тогда, когда и метод django, и метод axios являются PUT, а не DELETE.

(аутентификация отключена) Вот ошибка, которую я получаю, когда использую DELETE вместо PUT: Error

(аутентификация enabled) Вот ошибка, которую я получаю, когда использую DELETE вместо PUT: Error

Коды для удаления объекта

вот мой код бэкенда:

class deleteTrack(APIView):
    permission_classes = [IsAuthenticated]
    def delete(self, request): #ONLY WORKS WHEN THIS METHOD IS PUT, AND WHEN THE AXIOS METHOD IS ALSO PUT
        user = request.user
        data = request.data
        track = Track.objects.get(user=user)
        trackitem = TrackItem.objects.get(track=track,_id=data['trackitem_id'])

        trackitem.delete()

        message = {'detail':'Tracked Item successfully deleted'}
        return Response(message,status=status.HTTP_200_OK)

Вот мой код фронтенда:

export const deleteTracks = (track) => async(dispatch,getState) => {
    try{
        dispatch({
            type:TRACK_DELETE_REQUEST,
        }) 

        const  {
            userLogin: {userInfo},
            } = getState()
        const config = {
            headers:{
                'Content-type':'application/json',
                Authorization:`Bearer ${userInfo.token}`
            }
        }
        
        const { data } = await axios.delete(`/api/deletetrackitem/`,track,config)
        dispatch({
            type:TRACK_DELETE_SUCCESS,
            payload:data,
        })

    }
    catch(error){
        dispatch({type:TRACK_DELETE_FAIL,
            payload:error.response && error.response.data.detail ? error.response.data.detail : error.message,
    })
    }
    }

Пример данных, которые я отправляю:

 const deleteTrack = (e) =>{ e.preventDefault()
        {
            dispatch(deleteTracks({
                'user_id':userInfo.id,
                'trackitem_id':trackitem._id,
            }))
             window.location.reload();
        }

    }

Почему он не принимает метод delete?

Любая помощь будет очень признательна, спасибо.

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