DetailApiViewset с классическим представлением API - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь создать подробный набор API-интерфейсов, но сейчас я получаю страницу, которая не обнаруживается, когда я захожу в «соответствия / API / совпадений / 1 /». ListCreateAPIView работает отлично.

Вот мои наборы просмотра:

class MatchViewset(viewsets.ViewSetMixin, generics.ListCreateAPIView):
    serializer_class = MatchSerializer

    def get_queryset(self):
        header_token = self.request.META.get('HTTP_AUTHORIZATION', None)
        print(header_token)
        if header_token is not None:
            try:
                token = sub('Token ', '', self.request.META.get('HTTP_AUTHORIZATION', None))
                token_obj = Token.objects.get(key=token)
                self.request.user = token_obj.user
            except Token.DoesNotExist:
                pass
        print(self.request.user)
        return Match.objects.filter(creator=self.request.user)


class MatchDetailViewset(generics.RetrieveUpdateDestroyAPIView):
    queryset = Match.objects.all()
    serializer_class = MatchSerializer

и маршрутизаторы:

router = routers.DefaultRouter()
router.register(r'matches', matches_views.MatchViewset, base_name="matches")

и URL:

app_name = 'matches'

urlpatterns = [
    path('api/', include(router.urls)),
]

Спасибо завсе ответы:)

1 Ответ

0 голосов
/ 06 ноября 2019

Согласно документации здесь: Использование маршрутизаторов

после router.register(r'matches', matches_views.MatchViewset, base_name="matches") вы должны дать

urlpatterns = router.urls

Я думаю, это будетрешить вопрос

...