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

Kas*_*yap 4 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',)
Run Code Online (Sandbox Code Playgroud)

JPG*_*JPG 5

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

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
Run Code Online (Sandbox Code Playgroud)

并更改urls.py

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

              ] 
Run Code Online (Sandbox Code Playgroud)

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