Django REST Method Destroy получение 404 not found при отправке из axios
Я много пробовал и искал, но ни у кого не было такой проблемы. Проблема заключается в том, что я пытаюсь отправить запрос axios на удаление с правильным api ur и ключом. Но DRF Model.ViewSet не находит функцию с соответствующим PK.
Бэкенд Вот мой файл view.py:
class GigList(ViewSet):
def destroy(self, request, pk=None):
print(pk)
Gig.objects.filter(user=request.user, id=request.id).delete()
return Response
urls.py:
router = DefaultRouter()
router.register('api', views.GigList, basename='user')
Фронтенд Это js файл, в котором исполняется axios:
async deleteGig(id) {
const response = await api.delete(`api/destroy/${id}` + `/`,TokenService.getLocalAccessTokenHeader() );
return response
}
Django выводит:
Not Found: /api/destroy/17/
[09/Jan/2022 23:44:46] "DELETE /api/destroy/17/ HTTP/1.1" 404 8064
Если у кого-нибудь есть подсказка или решение этой проблемы, я буду благодарен, спасибо, ребята
Как показано в docs
, конечная точка destroy аналогична конечным точкам retrieve/update/partial_update, с основным отличием в http-методе. Поэтому все они используют api/17
, и набор представлений знает, какое действие использовать, основываясь на http-методе.
Измените:
await api.delete(`api/destroy/${id}` + `/`,
Просто:
await api.delete(`api/${id}` + `/`,