Django Api url конфликтует всякий раз, когда я применяю url приложения в urlpatterns, и я не знаю, что делать дальше

Итак, всякий раз, когда я добавляю этот path('api/', include('api.urls')) в родительские урлы, я получаю кучу ошибок в терминале, и если я удаляю его из urlpatterns, я получаю page not found при перезагрузке localhost в браузере, и на странице терминала он показывает "Broken pipe from ('127.0.0.1', 8441)", и я действительно очень запутался прямо сейчас.

Api urls

from rest_framework.routers import DefaultRouter
from . import views

router = DefaultRouter()

router.register('users', views.UserViewSet, basename='user')

urlpatterns = router.urls

Родительские урлы

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),

    path('api-auth/', include('rest_framework.urls')),
    path('api/', include('api.urls'))
]

Ошибки

C:\Users\Administrator\Desktop\CRUD\songcrud\api\views.py changed, reloading.
Performing system checks...
System check identified no issues (0 silenced).
November 07, 2022 - 01:32:32
Django version 4.1.3, using settings 'songcrud.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Not Found: /
[07/Nov/2022 01:32:47] "GET / HTTP/1.1" 404 2170
Not Found: /favicon.ico
[07/Nov/2022 01:32:47,092] - Broken pipe from ('127.0.0.1', 8441)  
C:\Users\Administrator\Desktop\CRUD\songcrud\songcrud\urls.py changed, reloading.
Watching for file changes with StatReloader
Performing system checks...

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\core\management\commands\runserver.py", line 134, in inner_run   
    self.check(display_num_errors=True)
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\core\management\base.py", line 475, in check
    all_issues = checks.run_checks(
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\core\checks\registry.py", line 88, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config
    return check_resolver(resolver)
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver
    return check_method()
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\urls\resolvers.py", line 494, in check
    for pattern in self.url_patterns:
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\utils\functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\Administrator\Desktop\CRUD\lib\site-packages\django\urls\resolvers.py", line 715, in url_patterns
utSerializer'. Did you mean: 'UserInputSerializer'?

вот что я получаю из браузера, когда это удалено path('api/', include('api.urls'))

Page not found (404)
Request Method:     GET
Request URL:    http://127.0.0.1:8000/

Using the URLconf defined in songcrud.urls, Django tried these URL patterns, in this order:

    admin/
    api-auth/

The empty path didn’t match any of these.

You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

Возможно, я ошибаюсь, помогите мне, пожалуйста,

Вот мой views.py

from rest_framework import viewsets, permissions, status
from rest_framework.response import Response

from django.contrib.auth import get_user_model

from .permissions import IsCreatorOrAdminReadOnly
from . import serializers
# Create your views here.

UserModel = get_user_model()


class UserViewSet(viewsets.ModelViewSet):
    queryset = UserModel.objects.all()
    default_serializer_class = serializers.UserOutputSerializer

    serializers_classes = {
        "create": serializers.UserInputSerializer
    }

    def create(self, request, *args, **kwargs):
        """
        User SignUp
            - Allow anyone to signup (without authentication)
        """
        self.check_permissions(request)
        serializer = serializers.UserInputSerializer(data=request.POST)
        serializer.is_valid(raise_exception=True)

        user = UserModel.objects.create_user(
            email=serializer.validated_data["email"],
            first_name=serializer.validated_data["first_name"],
            last_name=serializer.validated_data["last_name"],
            password=serializer.validated_data["password"]
        )
        response = serializers.UserInputSerializer(user).data
        return Response(response, status=status.HTTP_201_CREATED)

    def get_permissions(self):
        if self.action == 'create':  # Create, List, Retrieve, Update, or Destory
            permission_classes = [permissions.AllowAny]
        elif self.action == 'retrieve':
            permission_classes = [permissions.IsAuthenticated]
        elif self.action in ['update', 'partial_update', 'destroy']:
            permission_classes = [
                IsCreatorOrAdminReadOnly, permissions.IsAuthenticated]
        elif self.action == 'list':
            permission_classes = [permissions.IsAdminUser]
        else:
            permissions_classes = [permissions.IsAdminUser]

        return [permission() for permission in permission_classes]

        return super().get_permissions()

from rest_framework import viewsets, permissions, status
from rest_framework.response import Response

from django.contrib.auth import get_user_model

from .permissions import IsCreatorOrAdminReadOnly
from . import serializers
# Create your views here.

UserModel = get_user_model()


class UserViewSet(viewsets.ModelViewSet):
    queryset = UserModel.objects.all()
    default_serializer_class = serializers.UserOutputSerializer

    serializers_classes = {
        "create": serializers.UserInputSerializer
    }

    def create(self, request, *args, **kwargs):
        """
        User SignUp
            - Allow anyone to signup (without authentication)
        """
        self.check_permissions(request)
        serializer = serializers.UserInputSerializer(data=request.POST)
        serializer.is_valid(raise_exception=True)

        user = UserModel.objects.create_user(
            email=serializer.validated_data["email"],
            first_name=serializer.validated_data["first_name"],
            last_name=serializer.validated_data["last_name"],
            password=serializer.validated_data["password"]
        )
        response = serializers.UserInputSerializer(user).data
        return Response(response, status=status.HTTP_201_CREATED)

    def get_permissions(self):
        if self.action == 'create':  # Create, List, Retrieve, Update, or Destory
            permission_classes = [permissions.AllowAny]
        elif self.action == 'retrieve':
            permission_classes = [permissions.IsAuthenticated]
        elif self.action in ['update', 'partial_update', 'destroy']:
            permission_classes = [
                IsCreatorOrAdminReadOnly, permissions.IsAuthenticated]
        elif self.action == 'list':
            permission_classes = [permissions.IsAdminUser]
        else:
            permissions_classes = [permissions.IsAdminUser]

        return [permission() for permission in permission_classes]

        return super().get_permissions()

from rest_framework import viewsets, permissions, status
from rest_framework.response import Response

from django.contrib.auth import get_user_model

from .permissions import IsCreatorOrAdminReadOnly
from . import serializers
# Create your views here.

UserModel = get_user_model()


class UserViewSet(viewsets.ModelViewSet):
    queryset = UserModel.objects.all()
    default_serializer_class = serializers.UserOutputSerializer

    serializers_classes = {
        "create": serializers.UserInputSerializer
    }

    def create(self, request, *args, **kwargs):
        """
        User SignUp
            - Allow anyone to signup (without authentication)
        """
        self.check_permissions(request)
        serializer = serializers.UserInputSerializer(data=request.POST)
        serializer.is_valid(raise_exception=True)

        user = UserModel.objects.create_user(
            email=serializer.validated_data["email"],
            first_name=serializer.validated_data["first_name"],
            last_name=serializer.validated_data["last_name"],
            password=serializer.validated_data["password"]
        )
        response = serializers.UserInputSerializer(user).data
        return Response(response, status=status.HTTP_201_CREATED)

    def get_permissions(self):
        if self.action == 'create':  # Create, List, Retrieve, Update, or Destory
            permission_classes = [permissions.AllowAny]
        elif self.action == 'retrieve':
            permission_classes = [permissions.IsAuthenticated]
        elif self.action in ['update', 'partial_update', 'destroy']:
            permission_classes = [
                IsCreatorOrAdminReadOnly, permissions.IsAuthenticated]
        elif self.action == 'list':
            permission_classes = [permissions.IsAdminUser]
        else:
            permissions_classes = [permissions.IsAdminUser]

        return [permission() for permission in permission_classes]

        return super().get_permissions()

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