标签:min 密码 mobile strong bsp ret elf extra obj
在DRF项目的开发中,我们通过直接使用序列化器保存的用户信息时,用户的密码是被明文保存到数据库中。
def create(self, validated_data): ‘‘‘重写create方法实现,将密码加密后保存‘‘‘ # 将密码加密后保存 user = User.objects.create_user(**validated_data) return user
我们只需要在序列化器中,重写create方法,并将保存数据的方法由原来的create方法修改成create_user方法即可。
class UserAddSerializers(serializers.ModelSerializer): ‘‘‘增加用户的序列化器‘‘‘ class Meta: # 指定模型类 model = User # 指定模型字段 fields = [‘username‘,‘password‘,‘mobile‘,‘email‘] # 为序列化器字段添加约束 extra_kwargs = { ‘username‘: { ‘max_length‘: 20, ‘min_length‘: 5 }, ‘password‘: { ‘max_length‘: 20, ‘min_length‘: 8, ‘write_only‘: True }, } def create(self, validated_data): ‘‘‘重写create方法实现,将密码加密后保存‘‘‘ # 将密码加密后保存 user = User.objects.create_user(**validated_data) return user
标签:min 密码 mobile strong bsp ret elf extra obj
原文地址:https://www.cnblogs.com/chao666/p/12308688.html