Django rest framework Django Rest框架(RESTAPI):&x27;功能';对象没有属性';as#u视图';
我正在尝试使用Django Rest框架生成基于类的视图。customer_details是django应用程序名称。尝试在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
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
在哪里?您的代码不会这样工作。