代码之家  ›  专栏  ›  技术社区  ›  Fedya Grab

令牌密钥名django rest auth

  •  0
  • Fedya Grab  · 技术社区  · 6 年前

    django-rest-auth==0.9.3 在我的Django项目中(我正在为移动应用程序制作REST API),我遇到了这个问题:

    {
       "key": "1eca799e88fd76bea3b33c53c33d58e4940bc7b8"
    }
    

    我希望它是“代币”。 有人知道这方面的特殊属性,或者如何自定义我的令牌序列化程序或任何其他解决方案吗?

    2 回复  |  直到 6 年前
        1
  •  0
  •   JPG    6 年前

    作为 @Bear Brown 在注释中提到,在代码中使用自定义序列化程序类,

    from rest_auth.models import TokenModel
    from rest_framework import serializers
    
    
    class MyCustomTokenSerializer(serializers.ModelSerializer):
        token = serializers.CharField(source='key')
    
        class Meta:
            model = TokenModel
            fields = ('token',)


    在中添加序列化程序的路径 settings.py 作为,

    REST_AUTH_SERIALIZERS = {
        'TOKEN_SERIALIZER': 'path.to.custom.MyCustomTokenSerializer',
    }
        2
  •  0
  •   Marcell Erasmus    6 年前

    您可以编写自定义序列化程序

    class TokenSerializer(serializers.ModelSerializer):
        """
        serializer for getting the user token for authentication
        """
        token = serializers.CharField(source='key')
    
        class Meta:
            model = Token
    

    使用此序列化程序返回响应