Если в урлах приложения заявлено больше вью, чем определено в файле вью данного приложения, то это может произойти по нескольким причинам.
1. Возможно, вы используете урлы из другого приложения или библиотеки. В случае Django, урлы из различных приложений могут быть объединены в общий уровень при помощи механизма include. Например, в файле urls.py на верхнем уровне проекта можно иметь следующую запись:
urlpatterns = [ # ... path('myapp/', include('myapp.urls')), # ... ]
В этом случае, урлы, объявленные в файле myapp.urls, будут доступны по адресу 'myapp/'.
2. Возможно, вы используете механизм наследования урлов. В Django есть возможность наследовать урлы от других приложений. Например, если в ваших урлах заявлено:
urlpatterns = [ # ... path('myapp/', include('otherapp.urls')), # ... ]
Тогда урлы из otherapp будут доступны по адресу 'myapp/'.
3. Возможно, в вашем проекте используется третьесторонняя библиотека управления урлами, которая автоматически обрабатывает урлы из разных приложений и объединяет их в общий уровень. Некоторые популярные библиотеки, такие как django-admin, django-rest-framework, также могут использовать подобные механизмы.
В любом случае, если у вас объявлены урлы в уровне приложения, но соответствующие вью не определены в файле views.py, то запросы на эти урлы будут приводить к ошибке. Поэтому важно убедиться, что все заявленные в урлах вью определены и имеют корректные имена и адреса обработки запросов.