У меня есть следующее urls.py
:
from django.urls import path, include
from rest_framework import routers
from TasksManagerApp import views
APP_NAME ='TasksManagerApp'
router = routers.DefaultRouter()
router.register(r'tasks', views.TaskViewSet)
router.register(r'task_templates', views.TaskTemplateViewSet)
router.register(r'task_lifecycle_nodes', views.TaskLifecycleNodeViewSet)
router.register(r'task_lifecycle_events', views.TaskLifecycleEventViewSet)
urlpatterns = [
path('', include(router.urls)),
]
Для некоторых причин DRF распознает только один из путей, зарегистрированных маршрутизатором: task_templates
.Все остальные пути не распознаются и выдают ошибку 404:
Using the URLconf defined in Attractora.urls, Django tried these URL patterns, in this order:
es/ api-token-auth/
es/ admin/
es/ api-auth/
es/ rosetta/
es/ tasks_manager/ ^task_templates/$ [name='tasktemplate-list']
es/ tasks_manager/ ^task_templates\.(?P<format>[a-z0-9]+)/?$ [name='tasktemplate-list']
es/ tasks_manager/ ^task_templates/(?P<pk>[^/.]+)/$ [name='tasktemplate-detail']
es/ tasks_manager/ ^task_templates/(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$ [name='tasktemplate-detail']
es/ tasks_manager/ ^$ [name='api-root']
es/ tasks_manager/ ^\.(?P<format>[a-z0-9]+)/?$ [name='api-root']
^media/(?P<path>.*)$
The current path, es/tasks_manager/tasks, didn't match any of these.
Я не знаю, почему маршрутизатор выбрал этот, он не первый, который должен быть зарегистрирован, и все другие пути правильно зарегистрированытоже.
Понятия не имею, где искать.