Django Simple JWT non_field_errors":[" Не найдено активной учетной записи с данными учетными данными]

С django rest framework Я использовал django-rest-framework-simplejwt отсюда

В соответствии с указаниями, мой settings.pyREST_FRAMERWORK должен выглядеть так:

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ],
}

Теперь, когда я вызываю API /api/token/ с помощью CURL как это:

curl -X POST -H "Content-Type: application/json" -d '{"username": "aami", "password": "ooma"}' http://127.0.0.1:8000/api/token/

Я получаю следующую ошибку:

curl -X POST -H "Тип содержимого: application/json" -d '{"имя пользователя": "aami", "пароль": "ooma"}' http://127.0.0.1:8000/api/token/

И на стороне сервера журнал:

Неверный запрос: /api/token/ [12/Apr/2019 15:01:02] "POST /api/token/ HTTP/1.1" 400 75

Я следовал тому, что упоминалось в руководстве, но все еще не могу понять, что не так.

2 ответа

Это происходило со мной. Я понял, что создал своих пользователей с помощью

User.objects.create(username="xxx", password="yyy")

Но в Django особый create_userметод необходимо использовать. Я удалил пользователя и изменил его на

User.objects.create_user(username="xxx", password="yyy")

и это сработало.

У меня была аналогичная проблема, и оказалось, что моя проблема заключалась в том, что пользователь не активировался после того, как он подтвердил свою электронную почту, используя is_active=True. Для получения более подробной информации проверьте это /questions/60006779/kak-reshit-oshibku-401-nesanktsionirovannyij-vhod-v-sistemu-drf-prostoj-vhod-pol/61146588#61146588

Другие вопросы по тегам