Forbidden (CSRF-токен отсутствует.) - но я использовал декоратор csrf_exempt?
Я работаю над небольшим приложением для онлайн-курса, в котором требуется запрос на выборку. Поскольку Django по умолчанию требует токен csrf, я использовал декоратор csrf_exempt в нескольких моих функциях представления, чтобы обойти это требование (я знаю, что это небезопасно, но сейчас нет необходимости добавлять такую проверку). Однако на одном конкретном маршруте я заметил, что продолжаю получать код состояния 403 с причиной "Forbidden (CSRF token missing.)"
Это происходит даже после добавления декоратора csrf_exempt в функцию представления. В чем причина этого? Моя функция представления и запрос на выборку выглядят следующим образом:
@csrf_exempt
def follow_unfollow(request):
# the rest of my function here...
fetch("/following", {
method: "PUT",
body: JSON.stringify({
action: "follow",
followee: user,
})
})
.then(response => {
if (response.status === 400) {
location.reload;
}
else if (response.status === 401) {
alert("You must be logged in to follow/unfollow a user!");
window.location = "/login";
}
else {
return response.json();
}
})
.then(data => {
// data processing on client-side
})