未在django rest urls中注册的视图

问题描述 投票:0回答:1

为什么我的观点没有在网址中注册?

这是我的观看代码,

class AView(APIView):
    def get(self, request, format=None):
        return Response(apps.get_models())

这是我的网址代码

from a_module import views
from .views import *
from rest_framework_nested import routers

app_name = 'a_module'

router = routers.DefaultRouter()

router.register(r'endpoint', views.AView, base_name="endpoint")

urlpatterns = [
    url(r'^', include(router.urls)),
]

a_module中的其他视图在url中注册,但唯一没有注册的视图是AView,我尝试注册views.AView.as_view()它也不起作用。当我通过/endpoint访问视图时,它返回未找到。

django django-rest-framework django-urls
1个回答
1
投票

由于您的视图类不是从Viewsets继承的,因此您不能在此处使用router。 因此,删除这些部分并直接在urls()函数中提及.as_view()中的视图类,如下所示,

from a_module import views
from .views import *
app_name = 'a_module'

urlpatterns = [
    url(r'endpoint/', views.AView.as_view(),name='endpoint'),
]
© www.soinside.com 2019 - 2024. All rights reserved.