标签:分享 max ane nova tin png 浏览器 rap value
1、默认情况下,chrom浏览器会提前对我们的form表单中的数据做校验,如果不想让chrom浏览器给我们做校验,则只需要按照下面的方式处理就可以了
<form method="post" action="/app1/test_forms/" novalidate>
关键是这个属性novalidate
2、forms中的as_p方法介绍
{{ myform.as_p }} {# as_p:这个方法的意思是把form中所有的input标签用p标签包裹起来#}
3、forms中的errors方法介绍
{{ myform.errors.pwd.0 }} {# errors:这里有forms中的所有的字段的所有错误#} {# errors.pwd:这里有forms中的pwd字段的所有的错误#} {# errors.pwd.0:这里取pwd所有字段的第一个错误#}
4、为text输入框设置插件的方法
# text输入框的设置属性 name = forms.CharField(max_length=16,label="username",widget=widgets.TextInput(attrs={"class":"c1"}))
5、利用插件,设置password输入框的方法
# 密码输入框设置属性 pwd = forms.CharField(label="pwd",min_length=6,error_messages={"min_length":"密码不能少于6位",},widget=widgets.PasswordInput(attrs={"class":1},render_value=True))
这里有一个render_value的方法意思是如果密码校验不通过,也不会把输入框清空,默认情况下,PasswordInput框会清空校验不通过的密码
6、后端的cleaned_data方法介绍
def test_forms(request): if request.method.lower() == "post": myform = Myform(request.POST) # 把post方式传递过来的数据传递个myform对象 if myform.is_valid(): # 对前端发过来的数据做校验,如果合法的话 name = myform.cleaned_data.get("name") pwd = myform.cleaned_data.get("pwd") rep_pwd = myform.cleaned_data.get("rep_pwd") print(myform.cleaned_data) else: pass else: myform = Myform() return render(request,"form1.html",{"myform":myform})
7、为forms生成的input设置bootstrap的样式
标签:分享 max ane nova tin png 浏览器 rap value
原文地址:https://www.cnblogs.com/bainianminguo/p/9757859.html