我在一个学校项目的网站上工作,成员应该在该网站上登录。我知道 Django 中的内置密码验证器,我已将它们添加到我的 settings.py 中。这是我目前在 serializers.py 中的内容:
def create(self, validated_data):
password = validated_data.pop('password', None)
instance = self.Meta.model(**validated_data)
if password is not None:
instance.set_password(password)
instance.save()
return instance
我已经导入了这样的验证器: 导入 django.contrib.auth.password_validation 作为验证器
我可以将验证器添加到此代码中并执行以下操作:
def create(self, validated_data):
password = validated_data.pop('password', None)
instance = self.Meta.model(**validated_data)
if password is not None:
instance.set_password(password)
try:
validators(password, self.instance)
except forms.ValidationError as error:
self.add_error('password', error)
return password
instance.save()
return instance