Как удалить объект с помощью 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?
Любая помощь будет очень признательна, спасибо.