Django Rest Framework非类型对象在调用authenticate时没有用户属性
我正在开发一个自定义的AuthTokenView,如下所示:Django Rest Framework非类型对象在调用authenticate时没有用户属性,django,api,django-rest-framework,django-serializer,django-autocomplete-light,Django,Api,Django Rest Framework,Django Serializer,Django Autocomplete Light,我正在开发一个自定义的AuthTokenView,如下所示: class ObtainAuthTokenView(APIView): throttle_classes = () permission_classes = () parser_classes = ( parsers.FormParser, parsers.MultiPartParser, parsers.JSONParser, ) render
class ObtainAuthTokenView(APIView):
throttle_classes = ()
permission_classes = ()
parser_classes = (
parsers.FormParser,
parsers.MultiPartParser,
parsers.JSONParser,
)
renderer_classes = (renderers.JSONRenderer,)
def post(self, request):
serializer = serializers.AuthCustomTokenSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
user = serializer.validated_data['user']
token, created = Token.objects.get_or_create(user=user)
content = {
'token': unicode(token.key),
}
return Response(content)
序列化程序类
from rest_framework.authentication import authenticate
class AuthCustomTokenSerializer(serializers.Serializer):
username = serializers.CharField()
password = serializers.CharField()
def validate(self, attrs):
email_or_username = attrs.get('username')
password = attrs.get('password')
if email_or_username and password:
# Check if user sent email
user_request = get_object_or_404(
User,
email=email_or_username,
)
email_or_username = user_request.username
user = authenticate(username=email_or_username, password=password)
if user:
if not user.is_active:
msg = _('User account is disabled.')
raise exceptions.ValidationError(msg)
else:
msg = _('Unable to log in with provided credentials.')
raise exceptions.ValidationError(msg)
else:
msg = _('Must include "email or username" and "password"')
raise exceptions.ValidationError(msg)
attrs['user'] = user
return attrs
调用序列化程序中的authenticate函数时,会显示以下错误:
“非类型”对象没有属性“用户”
从一段时间以来一直被困在这里
如果有任何帮助,我们将不胜感激您能分享您的回溯错误吗?