如何解决Django Rest FrameworkRest API:“function”对象没有“as_view”属性
我正在尝试使用 Django Rest 框架生成基于类的视图。 customer_details 是 Django 应用程序名称。当我尝试在 urls.py
中调用该视图时出现错误是:
\customer_details\urls.py",line 15,in path('ca_number/',views.CustomerDetailView.as_view()),AttributeError: 'function' 对象没有属性 'as_view'
这是一些代码:
customer_details/views.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,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,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,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,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)
customer_details/urls.py:
from django.contrib import admin
from django.urls import path
from . import views
from .views import CustomerDetailView
urlpatterns = [
path('ca_number/',]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。