请求正文以不同的形式到达Heroku(换行符)

时间:2019-03-16 20:20:50

标签: django heroku django-rest-framework

奇怪的问题。作为一项任务,我只接受带有数据{'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':'the ring of the ring'}的请求返回无效的主体错误。尝试使用浏览器(django api网站),curl和一些Web请求生成器。在Heroku上,可以在本地进行-无效请求。

所以我在Heroku上打印了它,这就是我得到的:

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

显然,Heroku在收到的请求中添加了一些空白字符。知道为什么会这样吗?

0 个答案:

没有答案