Создайте макет запроса для фреймворка django rest framework
Я пытаюсь создать макет запроса для метода post в django rest framework и попробовал:
factory = APIRequestFactory()
data = {"hello": 1}
print(data)
django_request = factory.post(url, data, format="json")
print("body:", django_request.body)
print("ct:", django_request.content_type)
r = Request(django_request)
print(r.data)
При печати корректно отображается текст, который должен быть преобразован в (двоичную) строку. Однако конечные r.data представляют собой пустой список. Как мне задать данные?
Предполагается, что у вас есть представление DRF следующим образом
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view(["POST"])
def hello_world(request):
return Response("Hello World")
что вам следует сделать, так это передать объект запроса в качестве входных данных функции просмотра:
from rest_framework.test import APIRequestFactory
request = factory.post(url, data, format="json")
response = hello_world(request)
print(response.data)
# -> Hello World