Тело запроса приходит в Heroku в другой форме (символы новой строки) - PullRequest
1 голос
/ 16 марта 2019

Странная проблема.В качестве задания я должен принимать только запросы с данными {'title': 'some movie title'}.На локальном хосте мой код работает нормально.На Heroku данные всегда признаются неверными.views.py:

class MovieViewSet(viewsets.ModelViewSet):
    queryset = Movie.objects.all()
    serializer_class = MovieSerializer

    def create(self, request, *args, **kwargs):
        print("Data of the post request for debug:")
        print(request.data)
        title = request.data.get('title')
        if not title:  
            return Response({'Error': "Body should be {'title':'The title of the Movie'}"}, status=status.HTTP_400_BAD_REQUEST)

Так, например, запрос с содержимым {'title': 'Властелин колец'} возвращает неверную ошибку тела.Пробовал с браузером (сайт django api), curl и некоторым генератором веб-запросов.Локально в порядке, на Heroku - неверный запрос.

Итак, я напечатал его на Heroku, и вот что я получил:

<QueryDict: {'_content_type': ['application/json'], '_content': ['{\r\n    "title": "snatch"\r\n}']}>

Очевидно, что Heroku добавляет некоторые символы пробела к полученным запросам.Есть идеи, почему это происходит?

...