form表单的作用:
1.提供input可以提交数据
2.对提交的数据进行校验
3.提供错误提示
使用form组件实现注册功能:
1.在views.py文件中定义类:
from django import forms
class X_x(forms.Form):
name=forms.CharField(label="用户名")
pwd=forms.CharField(label="密码")
2.使用
在视图文件views.py中:
def reg(request):
form_obj=X_x() #实例化form对象
if request.method=="POST":
form_obj=X_x(request.POST) #将post提交的数据直接传过去.
if form_obj.is_valid(): #调用form_obj的'校验数据'方法
return HttpResponse("注册成功") #也可以返回一个重定向等...
return render(requset,"reg.html",{"form_obj":form_obj})
在模板html文件中:
在form标签加上novalidate 前端不进行校验
{{ form_obj.as_p}} 生成所有的p标签
{{form_obj.errors}} 所有字段的错误
{{form_obj.name}} 改字段的input框
{{form_obj.name.label}} 改字段的label(中文提示)
{{form_obj.name.id_for_label}} 改字段的id