【发布时间】:2020-11-27 20:16:03
【问题描述】:
保存用户密码字段后,应用显示密码格式无效或未知哈希算法。
用户已创建,但密码字段是无效密码格式或未知散列算法。
代码在注册过程中不会返回任何错误。
我还在序列化程序中尝试了user.set_unusable_password(),但结果相同。想不通。
Serializers.py
from rest_framework import serializers
from accounts.models import User
class CreateUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'phone' , 'password',)
write_only_fields = ('password',)
def create(self, validated_data):
user = User.objects.create(**validated_data)
user.set_password(validated_data['password'])
user.save()
return user
})
view.py
class Register(APIView):
def post(self, request, *args, **kwargs):
phone = request.data.get('phone', False)
password = request.data.get('password', False)
print(phone)
print(password)
if phone and password:
old = PhoneOTP.objects.filter(phone__iexact=phone)
if old.exists():
old = old.first()
validated = old.validate
if validated:
temp_data = {
'phone': phone,
'password': password
}
serializers = CreateUserSerializer(data=temp_data)
serializers.is_valid(raise_exception=True)
user = serializers.save()
old.delete()
return Response({
'status': True,
'detail': 'Account is created '
})
【问题讨论】:
标签: python python-3.x django django-rest-framework