Получаем ошибку, когда хотим POST что-то в api{detail: "CSRF Failed: CSRF токен отсутствует."}
Когда я хочу отправить POST в API, я получаю эту ошибку : CSRF TOKEN, но у меня нет CSRF Token в django, я хочу POST без CSRF токена. Я могу отправить POST с помощью Postman, но когда я хочу отправить его с помощью js, я получаю ошибку, о которой я говорил вначале. как мне быть?
let edit_data = {
user_id: "1",
company: "rahaaaa",
description: "12343234234",
first_name: "324234234234312sd",
id_number: "122222",
last_name: "32423dqwe32",
}
let c = JSON.stringify(edit_data)
console.log(c);
fetch("http://127.0.0.1:8000/api/postCustomer/", {
headers: {
"Content-Type": "application/json",
},
method: "POST",
body:c,
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.log(err));
Когда я хочу отправить POST в API, я получаю эту ошибку : CSRF TOKEN, но у меня нет CSRF Token в django, я хочу POST без CSRF токена. как я могу это сделать?
Сообщите вашему методу post-view, что вы не хотите проверять CSRF-токен.
Вы можете использовать следующий декоратор, если вы используете представления на основе функций.
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view(request):
return HttpResponse('Hello world')
Если вы используете представления на основе классов, то
from django.http import HttpResponse
from django.utils.decorators import method_decorator
from django.views import View
from django.views.decorators.csrf import csrf_exempt
@method_decorator(csrf_exempt, name='dispatch')
class YourViewName(View):
# Your Post Method
def post(self, request):
return HttpResponse('OK')