我在哪里放置密码验证器? (django)

时间:2021-03-20 11:26:45

标签: django validation passwords

我在一个学校项目的网站上工作,成员应该在该网站上登录。我知道 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

0 个答案:

没有答案
相关问题