form表单
form表单的主要功能
Form表单验证(用户请求验证+生成HTML标签)
首先创建form类
class RegisterForm(Form):
name=fields.CharField(error_messages={'required':'用户名不能为空'},widget=widgets.TextInput(attrs={'class':'c1'}))
pwd=fields.CharField(error_messages={'required':'密码不能为空'},widget=widgets.PasswordInput({'class':'c1'}))
pwd_confirm=fields.CharField(error_messages={'required':'密码2不能为空'},widget=widgets.PasswordInput(attrs={'class':'c1'}))
def clean(self):
try:
pwd=self.cleaned_data['password']
pwd_confirm=self.cleaned_data['pwd_confirm']
if pwd == pwd_confirm:
return self.cleaned_data
else:
from django.core.exceptions import ValidationError
self.add_error('pwd_confirm',ValidationError('密码输入不一致'))
return self.cleaned_data
except KeyError as e:
return self.cleaned_data
```
编辑页面
def register(request):
if request.method == ‘GET’:
form=RegisterForm()
return render(request,‘register.html’,{‘form’:form})
else:
form=RegisterForm(request.POST)
if form.is_valid():
models.hostlist.objects.create(**form,clean_data)
print(form.cleaned_data[‘pwd’])
print(form.cleaned_data[‘pwd_confirm’])
else:
print(form.errors)
return render(request,‘register.html’,{‘form’:form})