1.form组件的主要功能
1.生成页面可用的HTML标签
2.对用户提交的数据进行校验
3.保留上次输入内容
2.页面显示的步骤
1.views.py中导入forms模块:from django import froms
2.定义继承自forms.Form的类,类中定义字段(和models中的写法相同)
3.视图函数中创建该类的对象
4.如果是get请求,向页面中渲染form对象。
3.简单使用form组件实现的例子
![]()
class Regform(forms.Form): # 查看所有字段(forms->fields->查看__all__)
"""
CharField对应input标签,users、pwd是input标签中的name的值,label对应label标签,widget的值对应input标签的类型
ChoiceField对应select标签,choices中的选项是option的值
"""
users = forms.CharField(label="用户名", widget=forms.TextInput)
pwd = forms.CharField(label="密码", widget=forms.PasswordInput)
choice = forms.ChoiceField(label="性别", choices=((1, "alex"), (2, "egon")))
def form_test(req):
form_obj = Regform() # 实例化Regform对象
if req.method == "POST":
form_obj = Regform(data=req.POST)
if form_obj.is_valid(): # is_valid()是遍历所有提交过来的字段的值是否合法
if req.POST.get("password") != req.POST.get("re_password"):
return render(req, "form_test.html", {"form_obj": form_obj}) # 此处保留在前端界面上的数据
else:
return redirect("/index/")
return render(req, "form_test.html", {"form_obj": form_obj}) # 将form_obj渲染给前端界面
views.py