有没有办法更改Django rest登录验证的视图?
我已经使用Django rest auth创建了rest API,在登录时,它会返回密钥和一些用户信息,但我需要添加一些状态,如成功、消息和其他一些东西。是否有任何方法覆盖django rest auth的视图以进行登录有没有办法更改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
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')
]