Django框架学习笔记(25.Form组件验证)
简单的用户注册:
urls.py加入:
url(r'^fm/$', views.fm),
views.py:
from django import forms class FM(forms.Form): user = forms.CharField(error_messages={'required': '用户名不能为空'}) pwd = forms.CharField( max_length=12, min_length=6, error_messages={'required': '密码不能为空', ' min_length': '密码长度不能小于6', 'max_length': '密码长度不能大于12'} ) email = forms.EmailField(error_messages={'required': '邮箱不能为空', 'invalid': "邮箱格式错误"}) from app01 import models def fm(request): if request.method == "GET": obj = FM() return render(request, 'fm.html', {'obj': obj}) elif request.method == "POST": obj = FM(request.POST) r1 = obj.is_valid() if r1: models.UserInfo.objects.create(**obj.cleaned_data) else: return render(request, 'fm.html', {'obj': obj})
fm.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/fm/" method="POST"> {% csrf_token %} <p>{{ obj.user }} {{ obj.errors.user.0 }}</p> <p>{{ obj.pwd }} {{ obj.errors.pwd.0 }}</p> <p>{{ obj.email }} {{ obj.errors.email.0 }}</p> <input type="submit" value="提交"/> </form> </body> </html>
运行后效果(这里Chrome自己加了验证功能,如果低级浏览器,就会显示定制的错误信息):