前言
相信玩Django的猴子们应该都知道表单类了吧!我们在用表单类实例的is_valid()方法验证表单后怎么能够获取错误值呢?!
方法
我们在使用is_valid()方法后如果表单有未符合规定的input,Django会记录它的值,我们可以通过get_json_data()方法来获取值
print(reform.errors.get_json_data())
print(reform.errors.get_json_data()['mobile'][0]['message'])
从上面我们可以看到,当errors使用get_json_data()后会变成python的字典对象,这样我们就能很方便的取值了
应用:
reform = UserRegisterForm(request.POST)
if reform.is_valid():
username = reform.cleaned_data.get('username')
password = reform.cleaned_data.get('password')
mobile = reform.cleaned_data.get('mobile')
email = reform.cleaned_data.get('email')
# 密码加密
password = make_password(password)
User.objects.create(username=username, password=password, mobile=mobile, email=email)
return redirect(reverse('myBlog:login'))
else:
msg = None
for value in reform.errors.get_json_data().values():
msg = value[0]['message']
break
return render(request, 'myBlog/login-register/register.html', {'msg': msg, 'sign': True})