我正在使用dj-rest-auth(https://dj-rest-auth.readthedocs.io/en/latest/)并尝试实现自定义注册表单。当我尝试注册一个新用户时,我有基本表单。我在旧版本(https://django-rest-auth.readthedocs.io/en/latest/)中看到,如果您使用password 1和password 2,则不必重新键入所有代码。
serializers.py
from rest_framework import serializers
from dj_rest_auth.registration.serializers import RegisterSerializer
class CustomRegisterSerializer(RegisterSerializer):
first_name = serializers.CharField()
last_name = serializers.CharField()
def get_cleaned_data(self):
super(CustomRegisterSerializer, self).get_cleaned_data()
return {
'username': self.validated_data.get('username', ''),
'password1': self.validated_data.get('password1', ''),
'password2': self.validated_data.get('password2', ''),
'email': self.validated_data.get('email', ''),
'first_name': self.validated_data.get('first_name', ''),
'last_name': self.validated_data.get('last_name', '')
}
settings.py
REST_AUTH_SERIALIZERS = {
'REGISTER_SERIALIZER': 'accounts.serializers.CustomRegisterSerializer',
}
3条答案
按热度按时间cwtwac6a1#
问题出在settings.py:
juzqafwq2#
您可以创建自己的User,并将其作为项目的AUTH_USER_MODEL,方法如下:
然后在www.example.com中settings.py声明AUTH_USER_MODEL =“to the model you just created”,并在www.example.com中serializers.py为用户注册创建一个序列化器:
然后在django admin中注册自定义用户模型
我希望这对你有帮助或者至少能为你指明正确的方向,让你达到你想要达到的目标
os8fio9y3#
现在它应该在www.example.com中的REST_AUTH对象中settings.py: