Django Form常用功能及代码示例
Django的Form主要具有一下几大功能:
- 生成HTML标签
- 验证用户数据(显示错误信息)
- HTML Form提交保留上次提交数据
- 初始化页面显示内容
views.py
from django.shortcuts import render
# Create your views here.
from django.forms import Form
from django.forms import widgets
from django.forms import fields
# 对form表单进行数据验证
class LoginForm(Form):
user = fields.CharField(required=True) # 不能为空
pwd = fields.CharField(min_length=18)
def login(request):
if request.method == "get":
return render(request, 'login.html')
else:
obj = LoginForm(request.POST)#request.POST拿到的是POST的数据
"""
is_valid
1. 获取当前类中所有的字段
-LoginForm实例化时候,放入
self.fields = {
'user':正则表达式,
'pwd':正则表达式
}
2.循环self.fields
flag = True
for k,v in self.fields.items():
k是:user,pwd
v是:正则表达式
input_value = requests.POST.get(k)
flag = False
return flag
"""
if obj.is_valid():
print(obj.cleaned_data)#字典数据
else:
# print(obj.errors)#返回的是个err对象
print(obj.errors)#返回的是个err对象
return render(request,'login.html')
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户登录</h1>
<form action="/login/" method="POST">
{% csrf_token %}
用户名 <input type="text" name="user">
密码 <input type="password" name="pwd">
<input type="submit" value="提交">
</form>
</body>
</html>
以上是 Django Form常用功能及代码示例 的全部内容, 来源链接: utcz.com/z/317725.html