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自己加了验证功能,如果低级浏览器,就会显示定制的错误信息):

Django框架学习笔记(25.Form组件验证)