Django Form常用功能及代码示例
Django的Form主要具有一下几大功能:
- 生成HTML标签
- 验证用户数据(显示错误信息)
- HTMLForm提交保留上次提交数据
- 初始化页面显示内容
views.py
fromdjango.shortcutsimportrender
#Createyourviewshere.
fromdjango.formsimportForm
fromdjango.formsimportwidgets
fromdjango.formsimportfields
#对form表单进行数据验证
classLoginForm(Form):
user=fields.CharField(required=True)#不能为空
pwd=fields.CharField(min_length=18)
deflogin(request):
ifrequest.method=="get":
returnrender(request,'login.html')
else:
obj=LoginForm(request.POST)#request.POST拿到的是POST的数据
"""
is_valid
1.获取当前类中所有的字段
-LoginForm实例化时候,放入
self.fields={
'user':正则表达式,
'pwd':正则表达式
}
2.循环self.fields
flag=True
fork,vinself.fields.items():
k是:user,pwd
v是:正则表达式
input_value=requests.POST.get(k)
flag=False
returnflag
"""
ifobj.is_valid():
print(obj.cleaned_data)#字典数据
else:
#print(obj.errors)#返回的是个err对象
print(obj.errors)#返回的是个err对象
returnrender(request,'login.html')
login.html
Title 用户登录
{%csrf_token%} 用户名 密码