django-rest-auth 和 django-rest-knox 的 AttributeError - Token Serializer

AttributeError with django-rest-auth and django-rest-knox - Token Serializer

我目前正在为 React 前端应用设置 Django 后端。

作为其中的一部分,我正在使用 django-rest-auth 和 django-allauth 进行注册和身份验证。我想通过 django-rest-knox 实现更好的令牌管理。

我使用以下代码开始并使用 rest-auth 和 allauth(有效)修改我现有的应用程序:

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

我的问题如下:

当我 POST 我的凭证到 url /rest-auth/login 时,在后端为正确的用户创建一个令牌,具有所有属性(例如到期日期),但是我没有收到作为 API 调用的一部分返回的令牌和用户。相反,我收到以下错误:

/rest-auth/login/

处的属性错误

尝试在序列化程序 KnoxSerializer 上获取字段 token 的值时出现 AttributeError。 序列化程序字段的命名可能不正确,并且与 str 实例上的任何属性或键都不匹配。 原始异常文本为:'str' 对象没有属性 'token'.

如有任何帮助,我们将不胜感激。我认为 KnoxSerializer 有问题,但我不知道是什么?

谢谢!

上午

修复来自网址!非常简单的深夜错误。 URL KnoxLoginView 的路径放在包含 djang-rest-auth url 之后,而不是之前。

通过注册 URL url(r'^rest-auth/login/', views.KnoxLoginView.as_view()) ,并将其包含在 url(r'^rest-auth/', include('rest_auth.urls')) 行之前,它可以工作。