有啥方法可以更改登录的 Django-rest-auth 视图?
Posted
技术标签:
【中文标题】有啥方法可以更改登录的 Django-rest-auth 视图?【英文标题】:Is there any way to change view of Django-rest-auth of login?有什么方法可以更改登录的 Django-rest-auth 视图? 【发布时间】:2019-02-06 04:36:24 【问题描述】:我使用 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',)
【问题讨论】:
您在使用Django-rest-auth
的哪个端点?
@JPG 127.0.0.1:8000/rest-auth/login
【参考方案1】:
创建一个自定义视图类并使用它
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
【讨论】:
好的,我应该像这样在 URL 中添加这个视图吗? url(r'^rest-auth/login/$', LoginView.as_view()),我是否需要像使用自定义序列化程序那样更改设置中的任何内容?谢谢 非常感谢。我有一个问题,如果我对注册做同样的事情,我是否也需要添加保存功能。正如他们在文件中提到的那样?(django-rest-auth.readthedocs.io/en/latest/configuration.html) 或者它也可以与 cutsom/registration 一起使用。 (我试过了,但它给了我相同的响应,但没有更新。) @Kashyap 我不能说如何注册,因为我们必须查看源代码以找到更好的方法以上是关于有啥方法可以更改登录的 Django-rest-auth 视图?的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以用 Provider 在 Flutter 中全局登录学生吗?
切换暗模式时,有啥方法可以更改 tailwindcss 中的图像?