Ошибка аутентификации токенов Django: запрос cURL без заголовка показывает 401 unauthorized, но добавление заголовка token auth приводит к ошибке 404 not found
В заголовке изложена проблема, с которой я столкнулся. Работаю над приложением Django с конечной точкой API. Я могу (полууспешно) получить доступ к конечной точке через простой cURL без заголовка, который возвращает 401, но когда я добавляю токен заголовка, я получаю ошибку 404 not found. Что может быть не так? Я пробовал множество различных комбинаций изменений настроек django на этих форумах и не могу заставить его измениться. Примеры некоторых вещей, которые я пробовал:
- Изменение порядка MIDDLEWARE
- CORS_ORIGIN_WHITELIST
- CORS_ALLOWED_ORIGINS
- CORS_ALLOW_CREDENTIALS
- CORS_ORIGIN_ALLOW_ALL
- Играем с настройками REST_FRAMEWORK - оба DEFAULT_AUTHENTICATION_CLASSES & DEFAULT_PERMISSION_CLASSES
- Изменение ALLOWED_HOSTS с [] на текущее значение ниже
CORS_ALLOWED_ORIGINS
Прилагаю фрагменты соответствующего кода:
401 cURL: curl -X GET http://127.0.0.1:8000/bettor/create/
404 cURL: curl -X GET http://127.0.0.1:8000/bettor/create/ -H "Authorization: Token <super secret but valid token>"
settings.py:
model/views.py:
class BettorViewSet(viewsets.ModelViewSet):
serializer_class = BettorSerializer
queryset = Bettor.objects.all()
model/serializer.py:
class BettorSerializer(serializers.ModelSerializer):
class Meta:
model = Bettor
# fields = ('userId', 'bettorId', 'booksConnected', 'isCapper', 'phoneNumber')
fields = "__all__"
model/apps.py:
class UsersConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'Users'
model/admin.py:
class BettorAdmin(admin.ModelAdmin):
list_display = ('userId', 'bettorId', 'booksConnected', 'isCapper', 'phoneNumber')
# Register your models here.
admin.site.register(Bettor, BettorAdmin)
urls.py:
router = routers.DefaultRouter()
router.register(r'bettor', views.BettorViewSet)
urlpatterns = [
...
re_path('', include(router.urls)),
...
]
Также есть некоторые файлы asgi.py и wsgi.py, которые я не трогал.