从我的viewSet类访问request.user时,我不断收到此错误。 TypeError:int()参数必须是字符串,类似字节的对象或数字,而不是'AnonymousUser'
视图集
class FriendRequestViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
def list(self, request):
queryset = FriendshipRequest.objects.filter(to_user=request.user)
print(queryset)
serializer = FriendRequestSerializer(queryset, many=True)
return Response(serializer.data)
queryset = FriendshipRequest.objects.all()
serializer_class = FriendRequestSerializer
与获得身份验证的邮递员一起使用时效果很好。但是我的angularJs应用程序出现内部错误。
这是服务:
this.getFriendRequests = function () {
var token = $window.sessionStorage.getItem('token');
console.log('TOKEN IS => ' + token);
console.log('cookie is : ' + getCookie('csrftoken'));
$http.defaults.headers.post['X-CSRFTOKEN'] = getCookie('csrftoken');
return $http.get('http://127.0.0.1:8000/friendsrq/', {
headers: { 'Authorization': 'token: ' + token }
});
};
我使用令牌认证
答案 0 :(得分:1)
我认为这是您的角度编码中的一个小错字。
在标题中使用大写字母 T (即应为 Token
而不是token
)
headers: {'Authorization': 'Token: ' + token}