django-rest-auth:验证成功后如何获取用户信息?

时间:2017-02-27 19:43:42

标签: django-rest-auth

django-rest-auth使用rest_auth.serializers.TokenSerializer成功验证后返回令牌。如何覆盖此序列化程序或添加我自己的序列化程序,以便在成功进行身份验证后,我可以获取用户信息,而不是令牌密钥?

1 个答案:

答案 0 :(得分:1)

我通过定义自定义序列化程序解决了这个问题。

from django.contrib.auth.models import User
from rest_framework import serializers
from rest_auth.models import TokenModel

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('username', 'email')

class TokenSerializer(serializers.ModelSerializer):
    user = UserSerializer()
    class Meta:
        model = TokenModel
        fields = ('key', 'user')

您还可以使用depth选项轻松生成嵌套表示形式,但在这种情况下,您也会收到password字段,这不是预期的和预期的。