Django Simple JWT non_field_errors":[" Не найдено активной учетной записи с данными учетными данными]
С django rest framework
Я использовал django-rest-framework-simplejwt
отсюда
В соответствии с указаниями, мой settings.py
REST_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