Почему request.POST.get всегда пуст в Django при использовании с react?

Я использую react с Django framework, а не Django rest framework, и когда я отправляю post запрос со стороны react, request.POST.get('token', '') всегда пустой.

token = request.POST.get("token")

Я пробовал многое, например changing content type использовать request.data вместо этого, но ничего не помогает.

Может ли кто-нибудь сказать, почему я не получаю переменную post?

EDIT Это js-код, который используется для отправки почтового запроса.

      axios({
        method: 'post',
        responseType: 'json',
        url: `/auth/login/`,
        data: {
          'token':token,
          'username':'yesy'
        },
        headers:{
          'X-CSRFToken':csrf,
          "Content-Type": "application/x-www-form-urlencoded",
        }
      })
      .then((response:any) => {
        console.log(response)
      })
      .catch((error:any) => {
        //error.data.error.message
        console.log(error)
      });

После некоторого ломания головы мне удалось найти ответ на этот вопрос, Если кто-нибудь столкнется с этой проблемой, просто используйте FormData с multipart.

      const formData = new FormData();
      formData.append('token', token);
      axios({
        method: 'post',
        responseType: 'json',
        url: `/auth/login/`,
        data: formData,
        headers:{
          'X-CSRFToken':csrf,
          "Content-Type": "multipart/form-data",
        }
      })
      .then((response:any) => {
        console.log(response)
      })
      .catch((error:any) => {
        //error.data.error.message
        console.log(error)
      });

Это решило мою проблему, следовательно, может решить и другие.

Вернуться на верх