python - 管理密码重置- 带md5加密码
'''重置密码类'''
class AdminChongModelForm(BootstrapModelForm):
confirm_pwd = forms.CharField(
label='重复密码',
# 加入插件 让重复密码变成密文 (render_value=True) 让错误的密码不会置空
widget=forms.PasswordInput(render_value=True)
)
class Meta:
model = models.Admin
fields = ['pwd', 'confirm_pwd']
widgets = {
'pwd': forms.PasswordInput(render_value=True)
}
def clean_pwd(self):
pwd = self.cleaned_data.get('pwd')
return md5(pwd)
# 验证密码 是否一致
def clean_confirm_pwd(self):
# print(self.cleaned_data)
pwd = self.cleaned_data.get('pwd')
rpwd = self.cleaned_data.get('confirm_pwd')
rpwd = md5(rpwd)
if rpwd != pwd:
# 需要引入 from django.core.exceptions import ValidationError 才可以使用 ValidationError
raise ValidationError('密码不一致')
return rpwd
'''重置密码''' def admin_chongzhi(request, nid): row_obj = models.Admin.objects.filter(id=nid).first() if not row_obj: return redirect('/admin/list/') title = '重置- {}的密码 '.format(row_obj.username) # instance=row_obj 显示秘钥 if request.method == 'GET': form= AdminChongModelForm() return render(request, 'change.html', {"title": title, 'form': form}) form = AdminChongModelForm(request.POST,instance=row_obj) if form.is_valid(): form.save() return redirect('/admin/list/') return render(request, 'change.html', {"title": title, 'form': form})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人