2022暑期实践(Django教程学习记录)(第三周5)P49添加确认密码

P49添加确认密码
这个地方遇到一个问题,写的逻辑和代码一样,但是ValidationError会一直报错,需要花时间排查一下,暂时注释掉跳过,
加密文件代码:

import hashlib

def md5(data_string):
    # 自己加盐
    # salt = "xxx"
    # obj = hashlib.md5(salt.encode('utf-8'))
    # 使用Django自动生成的密匙作为盐
    from django.conf import settings
    obj = hashlib.md5(settings.SECRET_KEY.encode('utf-8'))
    obj.update(data_string.encode('utf-8'))
    return obj.hexdigest()

后台验证代码:钩子函数

class AdminModelForm(BootStrapModelForm):
    confirm_password = forms.CharField(
        label="确认密码",
        # widget=forms.PasswordInput,
        # 设置两次密码不一致不清空密码输入框,加参数
        widget=forms.PasswordInput(render_value=True),
    )
    class Meta:
        model = models.Admin
        fields = ["username", "password", "confirm_password"]
        widgets = {
            'password': forms.PasswordInput(render_value=True),
        }

    def clean_password(self):
        pwd = self.cleaned_data.get("password")
        from app03_phone_number_management.utils.encrypt import md5
        return md5(pwd)

    def clean_confirm_password(self):
        print(self.cleaned_data.get("password"))
        print(self.cleaned_data.get("confirm_password"))
        pwd = self.cleaned_data.get("password")
        from app03_phone_number_management.utils.encrypt import md5
        confirm = self.cleaned_data.get("confirmed_data")
        confirm = md5(confirm)
        if confirm != pwd:
            from django.core.exceptions import ValidationError
            raise ValidationError("密码不一致")
        return confirm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值