有什么办法可以更改登录的Django-rest-auth的视图吗?

时间:2018-08-31 07:24:25

标签: django django-rest-framework django-rest-auth

我已经使用Django-rest-auth创建了rest API,在登录时,它会返回密钥和一些用户信息,但是我需要添加一些状态,例如成功和消息等。有什么方法可以覆盖django-rest-auth的视图进行登录吗?

class TokenSerializer(serializers.ModelSerializer):
    user = UserSerializer(many=False, read_only=True)  # this is add by myself.
    device = DeviceSerializer(many=True, read_only=True)

    class Meta:
        model = TokenModel
        fields = ('key', 'user', 'device',)

1 个答案:

答案 0 :(得分:3)

创建一个 自定义视图类 并使用

from rest_auth.views import LoginView


class CustomLoginView(LoginView):
    def get_response(self):
        orginal_response = super().get_response()
        mydata = {"message": "some message", "status": "success"}
        orginal_response.data.update(mydata)
        return orginal_response

并将您的urls.py更改为

urlpatterns = [
                  url(r'custom/login/', CustomLoginView.as_view(), name='my_custom_login')

              ] 

现在您应该使用端点 /custom/login/ ,而不是 /rest-auth/login