''' 编辑密码类'''
class AdminAddModelForm(BootstrapModelForm):
# 定义重复密码字段
confirm_pwd = forms.CharField(
label='重复密码',
# 加入插件 让重复密码变成密文 (render_value=True) 让错误的密码不会置空
widget=forms.PasswordInput(render_value=True)
)
class Meta:
model = models.Admin
fields = '__all__'
# 加入插件 让密码变成密文 render_value=True 让错误的密码不会置空
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_add(request):
title = '新建管理员'
if request.method == 'GET':
form = AdminAddModelForm()
return render(request, 'change.html', {"title": title, 'form': form})
form = AdminAddModelForm(data=request.POST)
if form.is_valid():
form.save()
return redirect('/admin/list')
return render(request, 'change.html', {"title": title, 'form': form})