Django rest framework django rest中的Tocken身份验证失败

Django rest framework django rest中的Tocken身份验证失败,django-rest-framework,django-rest-auth,Django Rest Framework,Django Rest Auth,我可以创建用户模型。但即使存在具有给定凭据的用户,身份验证也总是失败 models.py的用户创建方法如下 @receiver(post_save, sender=settings.AUTH_USER_MODEL) def create_auth_token(sender, instance=None, created=False, **kwargs): if created: Token.objects.create(user=instance) class Obta

我可以创建用户模型。但即使存在具有给定凭据的用户,身份验证也总是失败

models.py的用户创建方法如下

@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
    if created:
        Token.objects.create(user=instance)
class ObtainAuthToken(APIView):
    @csrf_exempt
    def post(self, request):
        user = authenticate(
        username=request.data['username'], 
        password=request.data['password'])

        if user:
            token, created = Token.objects.get_or_create(user=user)
            return Response({'token': token.key, 'user': UserSerializer(user).data})

        return Response('Invalid username or passwordee', status=status.HTTP_400_BAD_REQUEST)
views.py的登录/身份验证方法如下

@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
    if created:
        Token.objects.create(user=instance)
class ObtainAuthToken(APIView):
    @csrf_exempt
    def post(self, request):
        user = authenticate(
        username=request.data['username'], 
        password=request.data['password'])

        if user:
            token, created = Token.objects.get_or_create(user=user)
            return Response({'token': token.key, 'user': UserSerializer(user).data})

        return Response('Invalid username or passwordee', status=status.HTTP_400_BAD_REQUEST)
在settings.py中

AUTH_USER_MODEL = 'account.User'

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
settings.py在这里

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (

    'rest_framework.authentication.TokenAuthentication',
),
}

此代码有什么问题?

您的代码没有问题,但它只返回用于身份验证的令牌,与身份验证步骤无关。我无法获取它。那为什么不起作用呢?请帮助。在令牌认证流上,它有两个流。首先是生成的令牌,它需要用户的凭据来创建令牌。之后,客户端将使用该令牌添加到每个请求的头中,然后django有一个步骤来验证该令牌,该步骤的返回是一个用户对象。您的代码是第一步。没关系,但第二步可能出了问题。你能发送你的drf配置吗?我对Django有点陌生。你所说的配置是什么意思?settings.py?是的,在settings.py文件中,我们有REST\u框架字典用于配置。