在DRF项目的开发中,我们通过直接使用序列化器保存的用户信息时,用户的密码是被明文保存到数据库中。
代码实现:
def create(self,validated_data): '''重写create方法实现,将密码加密后保存''' # 将密码加密后保存 user = User.objects.create_user(**validated_data) return user
我们只需要在序列化器中,重写create方法,并将保存数据的方法由原来的create方法修改成create_user方法即可。
class UserAddSerializers(serializers.ModelSerializer): 增加用户的序列化器''' Meta: 指定模型类 model = User 指定模型字段 fields = ['username',passwordmobileemail'] 为序列化器字段添加约束 extra_kwargs = { : { max_length': 20,min_length': 5 },1)">': 8write_only: True },} return user
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。