如何覆盖 rest-auth 保存用户的方式?
How can I override how rest-auth saves users?
我的站点有一个 django 后端,它使用 django-rest-auth 包进行身份验证。我想在 rest-auth 序列化程序中更改此功能:
path_to_my_virtenv/lib/python3.7/site-packages/rest_auth/registration/serializers.py
class RegisterSerializer(serializers.Serializer):
def get_cleaned_data(self):
return {
'username': self.validated_data.get('username', ''),
'password1': self.validated_data.get('password1', ''),
'email': self.validated_data.get('email', '')
}
我试着直接编辑它,一切都如我所愿,但是我怀疑编辑 virtenv 站点包中的文件不是一个好主意。有没有办法从我的 Django 应用程序中覆盖它们?在我的情况下最好的做法是什么?
你说得对,编辑这个文件是最糟糕的选择。你不应该在你的本地机器上编辑第三方应用程序代码(除非你想测试一些极端情况)。
Django Rest Auth 允许您更改所有端点的序列化程序 class,您可以在 documentation.
上找到它
我的站点有一个 django 后端,它使用 django-rest-auth 包进行身份验证。我想在 rest-auth 序列化程序中更改此功能:
path_to_my_virtenv/lib/python3.7/site-packages/rest_auth/registration/serializers.py
class RegisterSerializer(serializers.Serializer):
def get_cleaned_data(self):
return {
'username': self.validated_data.get('username', ''),
'password1': self.validated_data.get('password1', ''),
'email': self.validated_data.get('email', '')
}
我试着直接编辑它,一切都如我所愿,但是我怀疑编辑 virtenv 站点包中的文件不是一个好主意。有没有办法从我的 Django 应用程序中覆盖它们?在我的情况下最好的做法是什么?
你说得对,编辑这个文件是最糟糕的选择。你不应该在你的本地机器上编辑第三方应用程序代码(除非你想测试一些极端情况)。
Django Rest Auth 允许您更改所有端点的序列化程序 class,您可以在 documentation.
上找到它