Django Form的理解
最近在学习Django Form,它的功能我的理解如下:
- 接收并处理客户端提交的表单和数据
from django import forms
class Form1(forms.Form):
user = forms.CharField()
pwd = forms.CharField()
from django.shortcuts import render,HttpResponse
from app01.forms import Form1
def form1(request):
if request.method=="POST":
f = Form1(request.POST) #request.POST:传入前端请求的数据
if f.is_valid(): #验证请求的内容和Form1里面的是否验证通过。
print(f.cleaned_data) #cleaned_data类型是字典,里面是验证后的信息
else: #否则--错误信息
print(type(f.errors),f.errors) #errors类型是ErrorDict,里面是ul,li标签
return render(request,"form1.html",{"error":f.errors})
return render(request,"form1.html")
- forms.CharField()里边参数字段
required:是否可以为空。required=True 不可以为空,required=False 可以为空
max_length=4 最多4个值,超过不会显示
min_length=2 至少两个值,少于两个会返回提示信息
error_messages={‘required’: ‘邮箱不能为空’, ‘invalid’: ‘邮箱格式错误’} 自定义错误信息,invalid 是格式错误
widget=forms.TextInput(attrs={‘class’: ‘c1’}) 给自动生成的input标签自定义class属性
widget=forms.Textarea() 生成Textarea标签。widget默认生成input标签