Django rest framework Django Rest框架(RESTAPI):&x27;功能';对象没有属性';as#u视图';

Django rest framework Django Rest框架(RESTAPI):&x27;功能';对象没有属性';as#u视图';,django-rest-framework,django-urls,attributeerror,django-class-based-views,restapi,Django Rest Framework,Django Urls,Attributeerror,Django Class Based Views,Restapi,我正在尝试使用Django Rest框架生成基于类的视图。customer_details是django应用程序名称。尝试在url中调用该视图时出错。py是: \customer\u details\url.py”,第15行,路径('ca\u number/',views.CustomerDetailView.as\u view()),AttributeError:'function'对象没有属性'as\u view' 下面是一些代码: 客户详细信息/视图.py from rest_framew

我正在尝试使用Django Rest框架生成基于类的视图。customer_details是django应用程序名称。尝试在
url中调用该视图时出错。py
是:

\customer\u details\url.py”,第15行,路径('ca\u number/',views.CustomerDetailView.as\u view()),AttributeError:'function'对象没有属性'as\u view'

下面是一些代码:

客户详细信息/视图.py

from rest_framework.views import APIView 
from rest_framework.response import Response
from .models import CustomerDetailModel                                 
from .serializer import CustomerDetailSerializer 

class CustomerDetailView(APIView):


def get(self, request, ca_number):#get all
    if request.user.has_perm('customer_details.view_customerdetail'):
        data = CustomerDetailModel.get_object(ca_number)
        serializer = CustomerDetailSerializer(data)
        return Response(serializer.data)
    else:
        return Response('Denied_msg', status=status.HTTP_403_FORBIDDEN)
       

def get(self, request, ca_number, format=None):#get single customer
    try:
        return CustomerDetailModel.objects.get(pk=ca_number)
    except CustomerDetailModel.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

def post(self, request, format=None):
    serializer = CustomerDetailSerializer(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)

def put(self, request, pk, format=None):
    try:
        data = self.get_object(pk)
        serializer = CustomerDetailSerializer(data, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    except CustomerDetailModel.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

def delete(self, request, pk, format=None):
    try:
        data = self.get_object(pk)
        data.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
        
    except CustomerDetailModel.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)
客户详细信息/url.py

from django.contrib import admin
from django.urls import path
from . import views
from .views import CustomerDetailView
urlpatterns = [
path('ca_number/',views.CustomerDetailView.as_view()),
]

根据您的导入行,我认为
path('ca_number/',CustomerDetailView.as_view()),
会起作用。(您在第3行和第4行导入了两次视图)路径中的参数
ca_number
格式
pk
在哪里?您的代码不会这样工作。