Django REST Framework: использование TokenAuthentication с API с возможностью просмотра

Я следую документации по DRF для настройки TokenAuthentication и не могу заставить его работать с API с возможностью просмотра. Я считаю, что я добавил правильные строки вsettings.py:

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.TokenAuthentication',
    ),

INSTALLED_APPS = (
   ...
'rest_framework',
'rest_framework.authtoken',
   ...

А также сгенерированные токены для существующих пользователей с фрагментом кода из документации. Я могу видеть токены для каждого пользователя, если я запрашиваюauthtoken_token стол, поэтому я знаю, что они существуют.

Каждый раз, когда я пытаюсь войти в браузерный API, я получаю следующее содержимое:

HTTP 401 Unauthorized
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
WWW-Authenticate: Token

{
"detail": "Authentication credentials were not provided."
}

Похоже, что он пытается аутентифицировать токен, но это сообщение немного странно. Когда я ввожу неверный пароль, я получаю сообщение «введите правильный пароль» в форме входа. Когда я ввожу правильный пароль, он появляется для входа в систему, но выводит меня в корень API с указанным выше сообщением и отображает «Вход» в верхнем меню, а не имя пользователя.

Может ли это быть как-то связано с моей пользовательской моделью? Или это может быть связано с тем, что в настоящее время я занимаюсь разработкой с сервером dev, который не поддерживает https - в документах DRF упоминается о необходимости HTTPS с TokenAuthentication, хотя я не был уверен, является ли это наилучшей практикой или действительно требуется ,

Ответы на вопрос(1)

Ваш ответ на вопрос