码迷,mamicode.com
首页 > 其他好文 > 详细

DRF项目之实现用户密码加密保存

时间:2020-02-14 20:49:02      阅读:136      评论:0      收藏:0      [点我收藏+]

标签: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

 

DRF项目之实现用户密码加密保存

标签:min   密码   mobile   strong   bsp   ret   elf   extra   obj   

原文地址:https://www.cnblogs.com/chao666/p/12308688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!