Есть ли способ изменить представление Django-rest-auth входа в систему? - PullRequest
0 голосов
/ 31 августа 2018

Я создал остальные API-интерфейсы, используя Django-rest-auth, при входе в систему он возвращает ключ и некоторую информацию о пользователе, но мне нужно добавить некоторый статус, такой как «успех», «сообщение» и некоторые другие вещи. Есть ли способ переопределить представление 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 голосов
/ 31 августа 2018

Создайте пользовательский класс представления и используйте его

from rest_auth.views import LoginView


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

и измените urls.py на

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

              ] 

теперь вы должны использовать конечную точку /custom/login/ вместо /rest-auth/login

...