django之from表单模块

 使用from模块的步骤

1,导入模块

from django import forms

2,利用模块直接约束被验证的name

class Fm(forms.Form):
    user = forms.CharField()
    pwd = forms.CharField()
    email = forms.EmailField()

3,生成对象,调用

def fm(request):
    obj = Fm(request.POST)

4,判断值

  obj.is_valid()

  如果提交的数据全部正确,则会true。

  如果有错误则会false

result = obj.is_valid()
 
if  result is True:
     a = obj.changed_data  # 这个是对方提交的正确的数据
     print(a)
else:
    err = obj.errors            # 所有的错误提示
    print(err)

5. 自定义错误提示。查看错误提示的key。把他转换成json格式.as_json()

err = obj.errors.as_json()

print(err)

# 括号里编写相对应的错误提示

class Fm(forms.Form): user
= forms.CharField(error_messages={'required': '用户名不能为空'}) pwd = forms.CharField(max_length=10, min_length=6, error_messages={'required': '密码不能为空', 'max_length': '最大长度不能超过10', 'min_length': '最小长度为6'}) email = forms.EmailField(error_messages={'valid': '邮箱格式不对', 'required': '邮箱不能为空'})

 

 

 用户验证完整代码

class Fm(forms.Form):
    user = forms.CharField(error_messages={'required': '用户名不能为空'})
    pwd = forms.CharField(max_length=10, min_length=6,
                          error_messages={'required': '密码不能为空', 'max_length': '最大长度不能超过10', 'min_length': '最小长度为6'})
    email = forms.EmailField(error_messages={'valid': '邮箱格式不对', 'required': '邮箱不能为空'})


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:
            add_user = obj.cleaned_data
            UserInfo.objects.create(**add_user)  # 字典是可以通过orm添加到数据库的。所以我们可以直接添加此字典到数据库里
            return HttpResponse('数据添加成功')
        else:
            print(obj.errors.as_json())
            return render(request, 'fm.html', {'obj': obj})

 

 

 

 

【完】

posted on 2020-04-28 21:00  yeyu1314  阅读(246)  评论(0编辑  收藏  举报