JSONDecodeError位于/ pro / product / 5 /

时间:2018-12-08 17:43:33

标签: python django django-rest-framework

每当我在本地主机上运行服务器时,都会出现此错误 无法找出问题所在 这是请求的代码

@api_view(['GET','POST'])
def ProductView(request,id):
    # status = get_object_or_404(id=request.POST.get('id', ''))
    stat = get_object_or_404(Product,id=id)

    serializer =ProductSerializer
        # serializer = serializers.statusSerializer(stat,many=True)
    nice=stat.name
    # nice = str(stat.total)
    print(nice)
    # return Response(json.loads(reade r(nice)))
    return Response(json.loads(nice))

这是错误

JSONDecodeError at /pro/product/5/
Expecting value: line 1 column 1 (char 0)

1 个答案:

答案 0 :(得分:0)

使用DRF时,可以利用其自己的seralization的优势。所以你可以这样尝试:

@api_view(['GET','POST'])
def ProductView(request,id):
    if request.method == "GET":
        stat = get_object_or_404(Product,id=id)
        serializer = ProductSerializer(stat)
        return Response(serializer.data)
    else:
        data = JSONParser().parse(request)
        serializer = ProductSerializer(data=data)
        if serializer.is_valid():
           serailizer.save()  # Save data if you need or ommit it.
           return Response(serializer.data)
        else:
           return Response({'error': True})