Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法更改Django rest登录验证的视图?_Django_Django Rest Framework_Django Rest Auth - Fatal编程技术网

有没有办法更改Django rest登录验证的视图?

有没有办法更改Django rest登录验证的视图?,django,django-rest-framework,django-rest-auth,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. dev

我已经使用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',)
创建一个自定义视图类并使用它

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

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

您使用的是
Django rest auth
的哪个端点?@JPG好的,我应该像这样在URL中添加这个视图吗?url(r“^rest auth/login/$”,LoginView.as_view()),我是否需要更改设置中的任何内容,就像使用cutom序列化程序一样?非常感谢你。我有一个问题,如果我对注册做同样的事情,我是否也需要添加保存功能。正如他们在文档中提到的?(),或者它也可以与cutsom/注册一起使用。(我试过了,但它给了我相同的回应,而不是更新的。)@Kashyap我不能说注册后该怎么做,因为我们必须研究源代码,找到更好的方法so@Kashyap所以,我建议你接受这个答案,如果你成功了,然后问一个新问题,这样可能会引起更多的注意
urlpatterns = [
                  url(r'custom/login/', CustomLoginView.as_view(), name='my_custom_login')

              ]