未在Django Rest URL中注册的视图

时间:2018-08-31 10:10:26

标签: django django-rest-framework django-urls

为什么我的视图未在url中注册?

这是我的查看代码,

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访问视图时,它找不到返回。

1 个答案:

答案 0 :(得分:1)

由于视图类不是从 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'), ] 函数中直接提及视图类,如下所示,

EstatusDelBalance