Представления Django не возвращают значение из запроса с несколькими параметрами?

Я использую ванильный Django в качестве бэкенда для моего фронтенда React. Я пытаюсь сделать POST запрос, используя axios, который передает словарь из 2 значений моему представлению django, и пока что на моем фронтенде значения действительны, соединение с django url установлено, но единственной проблемой является фактическая обработка данных в представлении. Если я пытаюсь вывести значение, оно возвращается как None. Вот что у меня есть на данный момент:

Релевантный код

views.py

def render_data(request):
    reddit_url = request.POST.get('reddit_url')
    sort = request.POST.get('sort')
    print(reddit_url, sort)
    users_data, count = run_data(reddit_url, sort)
    data = {
        'users_data': users_data,
        'count': count,
    }
    return JsonResponse(data)

component.jsx

const APIcall = () => {
    axios
      .post(
        `http://127.0.0.1:8000/reddit_data/`,
        {
          reddit_url: location.state.link,
          sort: location.state.sort,
        },
        {
          headers: {
            "Content-Type": "application/json",
            "X-CSRFToken": location.state.token,
          },
          withCredentials: true, //cors requests
        }
      )
      .then((res) => {
        console.log("YESSIR");
        setLoading(false);
      });
  };

Ожидаемая/фактическая производительность

Идеально, на выходе будут выведены значения из запроса, но фактический результат будет просто None, None.

Что я пробовал

  1. I tried using request.POST['reddit_url'] with no different results
  2. Double checking the frontend values to make sure the POST call is going through with the correct values
  3. I'll be honest I havent tried much I really cant understand this one

Оказывается, мой QueryDict возвращался пустым в консоли Django при попытке вывести его, и я просто решил эту проблему, используя var formData = new FormData(); добавляя свои значения, а затем используя его как параметр в моем сообщении axios, чтобы сделать POST запрос.

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