Django form验证
作者:互联网
# 模版 class LoginForm(forms.Form): # 模版中的元素 user = forms.CharField(min_length=6,error_messages={"required": '用户名不能为空','min_length': '用户名长度不能小6'}) email = forms.EmailField(error_messages={"required": '邮箱不能为空','invalid': '邮箱格式错误'}) def login(request): if request.method == "GET": # 数据库中获取 obj = LoginForm() return render(request,'login.html',{'oo': obj}) elif request.method == "POST": """ obj = LoginForm(request.POST) # 验证 status = obj.is_valid() print(status) value_dict = obj.clean() print(value_dict) error_obj = obj.errors.as_json() print(error_obj) """ obj = LoginForm(request.POST) if obj.is_valid(): value_dict = obj.clean() print(value_dict) # create(**value_dict) else: # 封装了所有的错误信息 # print(obj.errors['email'][0]) # print(obj.errors["user"][0]) # print(type(error_obj)) from django.forms.utils import ErrorDict pass return render(request, 'login.html',{'oo': obj})
<form method="POST" action="/login.html"> <p> {{ oo.user }} <span>{{ oo.errors.user.0 }}</span> </p> <p> {{ oo.email }} <span>{{ oo.errors.email.0 }}</span> </p> <p> <input type="text" name="pwd" placeholder="密码" /> </p> <input type="submit" value="提交" /> {{ msg }} <input id="ajax_submit" type="button" value="Ajax提交" /> </form>
Django的Form验证 - 控诉: a. 用户提交数据的验证 1、创建模版 class LoginForm(forms.Form):... 2、将请求交给模版,创建一个对象 obj = LoginForm(request.POST) 3、进行验证 obj.is_valid() 4、获取正确信息 obj.clean() 5、获取错误信息 obj.errors b. 错误信息提示 Form提交,刷新页面的特性,模版对象内部值丰富,再显示时,值和错误信息都有 c. 保留上一次提交的数据 1、自动生成html标签 2、保留上一次提交的数据 注: Form使用 a,b,c ajax使用 a,错误信息处理: as_json() as_data() 问题: 1、有没有其他的限制,可不可以自定制 2、生成各种标签 3、显示默认值 http://www.cnblogs.com/wupeiqi/articles/6144178.html
标签:oo,errors,obj,form,验证,request,Django,print,LoginForm 来源: https://www.cnblogs.com/jiefangzhe/p/10786066.html