我目前正在为React前端应用设置Django后端。
作为其中的一部分,我使用django-rest-auth和django-allauth进行注册和身份验证。我想通过django-rest-knox实现更好的令牌管理。
我使用以下代码开始并使用rest-auth和allauth(有效)修改了我现有的应用程序:
https://gist.github.com/AndrewPix/cdd9276b1d5683459b965d5cc4517b26
我的问题如下:
当我将我的凭据发布到url / rest-auth / login时,在后端为具有所有属性(例如到期日期)的正确用户创建令牌,但是我没有获得令牌和用户作为API调用的一部分返回。相反,我收到以下错误:
/ pest-auth / login / 处的AttributeError
尝试在序列化程序token
上获取字段KnoxSerializer
的值时出现AttributeError。
序列化程序字段的名称可能不正确,并且与str
实例上的任何属性或键都不匹配。
原始异常文本为:'str'对象没有属性'token'。
任何帮助将不胜感激。我认为KnoxSerializer出了点问题,但我不知道该怎么办?
谢谢!
AM
答案 0 :(得分:0)
修复程序来自网址!很简单的深夜错误。 KnoxLoginView的URL路径放在djang-rest-auth url之后,而不是之前。
通过注册URL url(r'^rest-auth/login/', views.KnoxLoginView.as_view())
并包括行url(r'^rest-auth/', include('rest_auth.urls'))
之前的URL,它可以工作。