我的问题与此处发布的内容类似,但存在一些差异.我正在使用Django的AbstractUser类在Python 3.6上使用Django(版本2)Rest Framework(版本3.7)编写用户创建Web界面.
我的views.py:
def post(self, request, format=None):
serializer = UserProfileSerializer(data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
我的serializers.py:
class UserProfileSerializer(serializers.ModelSerializer):
avatar = Base64ImageField()
official_docs = Base64ImageField()
class Meta:
model = UserProfile
fields = '__all__'
extra_kwargs = {'password': {'write_only': True},
}
def create(self, validated_data):
hashed_password = make_password(validated_data['password']) # get the hashed password
user = UserProfile(
username=validated_data['username'],
email = validated_data['email'],
first_name= validated_data['first_name'],
last_name= validated_data['last_name'],
phone_number=validated_data['phone_number'],
avatar=validated_data.pop('avatar'),
gender=validated_data['gender'],
city=validated_data['city'],
description=validated_data['description'],
date_of_birth=validated_data.pop('date_of_birth'),
official_docs=validated_data.pop('official_docs'), …Run Code Online (Sandbox Code Playgroud)