Django Rest Framework: как отправить данные в request.data - PullRequest
2 голосов
/ 02 апреля 2020

Я создаю простой API в Django Rest Framework с использованием представлений на основе классов и в документации упоминается request.data (https://www.django-rest-framework.org/tutorial/2-requests-and-responses/)

from rest_framework.views import APIView
    class myView(APIView):
    def post(self, request):
        print(request.data)

Когда я пытаюсь отправить отправлять запросы с помощью

  1. curl: curl --data param1=val1&param2=val2 url
  2. интерфейс браузера djangos с публикацией (с использованием форматированного URL и опцией публикации
  3. Advanced Rest Client (chrome добавьте)

Данные всех трех, по-видимому, заканчиваются в request.query_params. Когда я пытаюсь напечатать request.data, я получаю пустой ответ {}

Я мог бы просто использовать request.query_params, мне просто любопытно, как можно получить данные в go для request.data, поскольку об этом говорится в документации

edit: поэтому curl --data param1=val1&param2=val2 -X POST url отправляет информацию в запрос .data (теперь, если я скажу request.query_params, если получу пустой dict {}, но request.data содержит объект, который является dict query_params.)

1 Ответ

1 голос
/ 03 апреля 2020

curl запрос не имеет добавленных -X и POST . Добавьте эти

...