Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django类语法错误_Python_Python 3.x - Fatal编程技术网

Python Django类语法错误

Python Django类语法错误,python,python-3.x,Python,Python 3.x,我对python和django比较陌生。试图实现一个python类,但出现了这个奇怪的语法错误 from invoice.models import Invoice from invoice.serializers import InvoiceSerializer from django.http import Http404 from rest_framework.views import APIView from rest_framework.response import Response

我对python和django比较陌生。试图实现一个python类,但出现了这个奇怪的语法错误

from invoice.models import Invoice
from invoice.serializers import InvoiceSerializer
from django.http import Http404
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status


class InvoiceList(APIView):

    def get(self, request, format=None):
        try:
            invoices = Invoice.objects.all()
            serializer = InvoiceSerializer(invoices, many=True)
            return Response(serializer.data)
        except Invoice.DoesNotExist:
            raise Http404
        serializer = InvoiceSerializer(invoices, many=True)
        return Response(serializer.data)

    def post(self, request, format=None):
        serializer = InvoiceSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST


class InvoiceDetail(APIView):

    def get_object(self, pk):
        try:
            return Invoice.objects.get(pk=pk)
        except Invoice.DoesNotExist:
            raise Http404

    def get(self, request, pk, format=None):
        invoice=self.get_object(pk)
        serializer=InvoiceSerializer(invoice)
        return Response(serializer.data)

    def put(self, request, pk, format=None):
        invoice=self.get_object(pk)
        serializer=InvoiceSerializer(invoice, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    def delete(self, request, pk, format=None):
        invoice=self.get_object(pk)
        invoice.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)

这是我得到的错误。我不明白为什么它会给我这个错误,因为这个错误对我来说似乎是正确的

类InvoiceDetailAPIView: ^ 语法错误:类InvoiceList更改中的语法无效

返回Responseserializer.errors,status=status.HTTP\u 400\u错误\u请求


return Responseserializer.errors,status=status.HTTP\u 400\u BAD\u请求

在InvoiceDetail类之前缺少一个请求。即,return Responseserializer.errors,status=status.HTTP_400_BAD_REQUESTHint:语法错误指向检测到问题的位置,可以是实际问题所在位置之后的几行,有时甚至几行。