Почему один url, не требующий auth, запрашивает токен при размещении под url, требующим auth
Я заметил странную ошибку (возможно) во время тестирования моего apis. У меня есть три представления, обрабатывающие api запросы. Два не требуют auth (searchListing, listListing) и одно требует auth (retrieveListing). Странно, но если я держу 'search' ниже 'str:slug'' url (urlpatern_1), он говорит Authentication credentials were not provided. Однако если переместить search выше 'str:slug'', то все работает отлично.
urlpatterns_1 = [
path('', views.listListing , name= 'listListing'),
path('<str:slug>', views.retrieveListing , name= 'retrieveList'),
path('search', views.searchListing , name= 'searchList'),
]
urlpatterns_2 = [
path('', views.listListing , name= 'listListing'),
path('search', views.searchListing , name= 'searchList'),
path('<str:slug>', views.retrieveListing , name= 'retrieveList'),
]
Но, как ни странно, снова 'listListing' не зависит от позиции.
Пожалуйста, объясните мне, почему это происходит
views.py
@api_view(['GET'])
def listListing(request):
pass
@api_view(['GET'])
@permission_classes([IsAuthenticated])
def retrieveListing(request, slug):
pass
@api_view(['GET'])
def searchListing(request):
pass