Django generateschema игнорирует URL-адреса
Я пытаюсь научиться создавать бэкенд на Django вместе с фронтендом на Angular. Для того, чтобы сделать api немного более последовательным, я попытался создать схему API для использования OpenAPI Generator.
Я выполнил команду ./manage.py generateschema --file schema.yml
. Но: В файле yml нет никакой информации о users.url
. Я добавил get_schema_view
из rest_framework, с тем же результатом.
(основное) приложение urls.py выглядит следующим образом:
from django.conf.urls import include
from django.contrib import admin
from django.urls import path
from rest_framework.schemas import get_schema_view
urlpatterns = [
path('admin/', admin.site.urls),
path('api/users/', include('users.urls'), name="users"),
path('api/network/', include('networkController.urls'), name="network"),
path('api/files/', include('fileController.urls'), name="files"),
path('api/', get_schema_view(
title="API Documentation",
description="API for all things"
), name='openapi-schema')
]
NetworkController.urls выглядит следующим образом:
from django.urls import path
from . import views
urlpatterns = [
path('', views.startNetwork)
]
который найден генератором схем.
Users.urls выглядит следующим образом:
from django.urls import path
from . import views
urlpatterns = [
path('login/', views.login),
path('register/', views.registerUser)
]
Я пытался перенести все урлы в (основной) backend.urls и включить представления напрямую, я пробовал "наслаивать" их все.
# backend.urls:
path('api/', include('api.urls'))
# api.urls:
path('users/', include('users.urls'))
без каких-либо изменений.
Я пробовал искать, почему - но безуспешно. Если я запускаю сервер и делаю GET-Request через curl на localhost:8000/api/users/login напрямую, все работает отлично.
Не могли бы вы помочь мне понять, что я сделал не так, или направить меня к учебнику, в котором эта тема раскрыта более подробно?
(И да. Возможно, мне стоит перейти на что-то вроде FastAPI, но мне очень нравится Djangos Auth.Users и простое постоянное подключение к базе данных)
Заранее спасибо!
(EDIT: Вы можете найти весь код в моем GitHub)