我正在尝试使用Django Rest框架为我的用户注册创建一个API。我按照api-guide中的步骤创建了序列化程序
class CreateUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('email', 'username', 'password')
extra_kwargs = {'password': {'write_only': True}}
def create(self, validated_data):
user = User(
email=validated_data['email'],
username=validated_data['username']
)
user.set_password(validated_data['password'])
user.save()
return user
但是,我不断地为新创建的用户获取Invalid password format or unknown hashing algorithm.
。我试图使用django.contrib.auth.hashers
中的make_password
,但仍然无法解决此问题。
谢谢
您还可以为
password
字段使用field validation function,方法是将validate_password
方法添加到序列化程序并使其返回散列。您可以在CreateAPIView中覆盖perform_create方法
你可以用这种方法试试
相关问题 更多 >
编程相关推荐