作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 django Rest 框架中使用 post 请求创建用户。
这是我的序列化器代码:
class UserSerializer(serializers.ModelSerializer):
favorites = serializers.PrimaryKeyRelatedField(many=True, queryset=Favorite.objects.all())
class Meta:
model = User
fields = ('id', 'username','password','favorites')
extra_kwargs = {
'password': {
'write_only': True,
},
'confirm_password': {
'write_only': True,
},
'favorites':
{
'read_only': True,
},
}
def create(self, validated_data):
return User.objects.create(**validated_data)
对于创建方法,我也使用了这个实现:
def create(self, validated_data):
user = User(username=validated_data['username'])
user.set_password(validated_data['password'])
user.save()
return user
在我的管理面板中,它为创建的用户显示:
Invalid password format or unknown hashing algorithm.
我应该改变什么?
最佳答案
用户
的管理器上有一个特殊的方法 - create_user() ,这正是您需要做的事情
关于python - 在 django 中创建新用户给出的不是散列密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35594516/
我是一名优秀的程序员,十分优秀!