未在 django rest url 中注册的视图

Views not registered in django rest urls

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

这是我的查看代码,

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

这是我的 url 代码

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 访问视图时,它 returns 未找到。

由于您的视图 class 没有继承自 Viewsets,因此您不能使用 router here.
因此,删除那些部分并直接在 urls() 函数中使用 [= 提及视图 class 13=]如下,

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

urlpatterns = [
    <b>url(r'endpoint/', views.AView.as_view(),name='endpoint'),</b>
]