сообщение axios в django не работает из-за csrf - PullRequest
0 голосов
/ 01 июня 2018

Я использую React + Django и пытаюсь сделать почтовый запрос, используя axios, но он не работает из-за csrf.Я перепробовал все ответы, опубликованные в интернете, на похожую проблему, но ни один из них не работает по какой-то странной причине.

//Django View
def createUser(request):
    username = request.POST['username']
    email = request.POST['email']
    resp = {
      'username' : username,
      'email' : email
    }
    return JsonResponse(resp)



//Axios Post
 axios.post('http://localhost:8000/api/createUser/',{
       username : 'xyz',
       email : 'xyz@gmail.com'
    },
    {
       headers: {
         Content-Type': 'application/json',
       }
    });

попытался добавить значения по умолчанию

axios.defaults.xsrfHeaderName = "X-CSRFTOKEN";
axios.defaults.xsrfCookieName = "csrftoken";

, но все равно получить csrf не удалось.Я знаю, что могу сделать @csrf_exempt в представлении, но я хочу сохранить проверку csrf.

1 Ответ

0 голосов
/ 19 августа 2019

Наряду с заголовком X-CSRFToken, также включите куки в запрос axios, используя withCredentials: true

Мой оригинальный ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...