Ошибка атрибута с django-rest-auth и django-rest-knox - Сериализатор токенов - PullRequest
0 голосов
/ 24 декабря 2018

В настоящее время я настраиваю бэкэнд django для приложения внешнего интерфейса React.

В качестве части я использую django-rest-auth и django-allauth для регистрации и аутентификации.Я хотел реализовать лучшее управление токенами с помощью django-rest-knox.

Я использовал следующий код для запуска и изменения моего существующего приложения с помощью rest-auth и allauth (что работает):

https://gist.github.com/AndrewPix/cdd9276b1d5683459b965d5cc4517b26

Моя проблема заключается в следующем:

Когда я отправляю свои учетные данные в URL / rest-auth / login, в бэкэнде создается токен для правильного пользователя со всемиатрибуты (например, срок действия), но я не получаю токен и пользователь возвращаются как часть вызова API.Вместо этого я получаю следующее сообщение об ошибке:

AttributeError at / rest-auth / login /

Получил AttributeError при попытке получить значение для поля token на сериализаторе KnoxSerializer.Поле сериализатора может иметь неправильное имя и не соответствовать ни одному атрибуту или ключу в экземпляре str.Исходный текст исключения был: объект 'str' не имеет атрибута 'token'.

Любая помощь будет принята с благодарностью.Я думаю, что-то не так с KnoxSerializer, но я не могу понять, что?

Спасибо!

AM

1 Ответ

0 голосов
/ 25 декабря 2018

Исправление пришло с URL!Очень простые ошибки поздней ночи.Путь URL-адреса к KnoxLoginView был указан после включения URL-адресов djang-rest-auth, а не до.

При регистрации URL-адреса url(r'^rest-auth/login/', views.KnoxLoginView.as_view()) и включении его перед строкой url(r'^rest-auth/', include('rest_auth.urls')) он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...