Django Rest Framework-注册后返回授权令牌到期时间

时间:2020-07-30 21:48:57

标签: django django-rest-framework django-rest-knox

我想在注册后返回auth令牌的过期时间作为响应。我怎样才能做到这一点?我也在使用Django rest knox。

serializers.py

    class Meta:
        model = User
        fields = ('id', 'username', 'first_name', 'last_name', 'email')

# Register Serializer


class RegisterSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('id', 'username', 'first_name',
                  'last_name', 'email', 'password')
        extra_kwargs = {'password': {'write_only': True}}

    def create(self, validated_data):
        user = User.objects.create_user(
            validated_data['username'],
            validated_data['email'], validated_data['password'],
            first_name=self.validated_data['first_name'],
            last_name=self.validated_data['last_name'],)
        return user

views.py

class RegisterAPI(generics.GenericAPIView):
    serializer_class = RegisterSerializer

    def post(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        user = serializer.save()
        return Response({
            "user": UserSerializer(user, context=self.get_serializer_context()).data,
            "token": AuthToken.objects.create(user)[1]
        })

0 个答案:

没有答案