非模型端点的Django REST框架中未使用APIView解析URL
我正在使用创建一个非模型API端点,但在设置它时遇到了一些麻烦。下面是我的代码非模型端点的Django REST框架中未使用APIView解析URL,django,python-3.x,rest,django-rest-framework,Django,Python 3.x,Rest,Django Rest Framework,我正在使用创建一个非模型API端点,但在设置它时遇到了一些麻烦。下面是我的代码 views.py from rest_framework import views, viewsets from rest_framework.response import Response from myproject.apps.policies.models import Customer from .serializers import CustomerSerializer class Customer
views.py
from rest_framework import views, viewsets
from rest_framework.response import Response
from myproject.apps.policies.models import Customer
from .serializers import CustomerSerializer
class CustomerViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Customer.objects.all()
serializer_class = CustomerSerializer
class CalculateQuoteView(views.APIView):
def get(self, request, *args, **kwargs):
print('Just a random test.')
return Response({"success": True, "content": "Hello World!"})
我的url.py
文件:
from django.conf.urls import include, url
from .policies import views as policies_views
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register('policies', policies_views.CustomerViewSet)
#urlpatterns = router.urls
urlpatterns = [
url(r'^quote/', policies_views.CalculateQuoteView.as_view()),
url(r'^', include(router.urls)),
]
使用curl进行测试:
curl-X GEThttp://localhost:8000/api/v1/policies/quote/ -H'授权:令牌8636c43eb7a90randomtokenhere5c76555e93d3'
我得到以下输出:
{“详细信息”:“未找到”。}
基本上,最后我需要将详细信息传递给quote
API端点,并获取一些响应数据。我有什么遗漏吗?您应该询问:
curl -X GET http://localhost:8000/api/v1/quote/
或将URL更改为:
url(r'^policies/quote/', policies_views.CalculateQuoteView.as_view()),
状态代码是什么?这个打印是不是
print('只是一个随机测试')
在请求时执行?@arpitolanki:no。我得到以下信息:未找到:/api/v1/policies/quote/
。