Django Rest Frame работает, "Метод \"GET\" не разрешен.", но в коде запрашивается POST

Я смотрел учебник по созданию веб-приложения, используя React во фронтенде и Django в бэкенде, поэтому использую Django Rest Framework

Я скопировал все и даже мой код выглядел так же, но я получаю этот HTTP 405 статус и сообщение, что метод GET не разрешен, я знаю, что он не разрешен, потому что я не запрашивал метод GET, я запрашивал метод POST

Вот мой views.py :

from django.shortcuts import render
from rest_framework import generics, status
from .serializers import RoomSerializer, CreateRoomSerializer
from .models import Room
from rest_framework.views import APIView
from rest_framework.response import Response


class RoomView(generics.ListAPIView):
    queryset = Room.objects.all()
    serializer_class = RoomSerializer


class CreateRoomView(APIView):
    serailizer_class = CreateRoomSerializer

    def post(self, request, format=None):
        if not self.request.session.exists(self.request.session.session_key):
            self.request.session.create()
        serializer = self.serailizer_class(data=request.data)
        if serializer.is_valid():
            guest_can_pause = serializer.data.get('guest_can_pause')
            votes_to_skip = serializer.data.get('votes_to_skip')
            host = self.request.session.session_key
            queryset = Room.objects.filter(host=host)
            if queryset.exists():
                room = queryset[0]
                room.guest_can_pause = guest_can_pause
                room.votes_to_skip = votes_to_skip
                room.save(update_fields=['guest_can_pause', 'votes_to_skip'])
                return Response(RoomSerializer(room).data, status=status.HTTP_200_OK)
            else:
                room = Room(host=host, guest_can_pause=guest_can_pause,
                            votes_to_skip=votes_to_skip)
                room.save()
                return Response(RoomSerializer(room).data, status=status.HTTP_201_CREATED)
        return Response({'Bad Request': 'Invalid data...'}, status=status.HTTP_400_BAD_REQUEST)

Вот мой urls.py :

from django.urls import path
from .views import RoomView, CreateRoomView

urlpatterns = [
    path('room', RoomView.as_view()),
    path('create-room', CreateRoomView.as_view()),
]

Я где-то читал, что это как-то связано с URL, поэтому вот мой URL страницы:

http://127.0.0.1:8000/api/create-room

Не волнуйтесь api/ уже приведен в других urls.py

Вот экран вывода:

Output in browser

В учебнике, где мой печатает GET /api/create-room, его был POST /api/create-room

Так как мой изменился сам по себе

Пожалуйста, помогите

Вернуться на верх