django-forms组件
一.forms的作用
- 前端和后端都要校验
- 前端校验的目的:减少后台代码连接数据库的压力
用forms可以同时完成前端和后端同时校验且减少代码量
二.forms的基本使用:
1.定义数据的时候导入from类
2.字段通过fields进行导入
3.演示
views.py
from django.forms import Form
from django.forms import fields
class LoginForm(Form):
### 全部都是验证的规则
username = fields.CharField(
required=True, ### 不能为空
max_length=18, ### 最大的长度是18
min_length=6, ### 最小的长度是6
error_messages = { ### 对英文进行重写
"required" : "不能为空",
"max_length":"太长了",
"min_length":"太短了",
}
)
pwd = fields.CharField()
推荐Python大牛在线分享技术 扣qun:855408893
领域:web开发,爬虫,数据分析,数据挖掘,人工智能
零基础到项目实战,7天学习上手做项目
4.方法中对于传参进行定义
views.py
def login(request):
if request.method == 'GET':
return render(request, "login.html")
else:
# username = request.POST.get('username')
# pwd = request.POST.get('pwd')
obj = LoginForm(request.POST) ## {"username":'xx', 'pwd':'xx'}
if obj.is_valid():
print(obj.cleaned_data) ## 对象
else:
print(obj.errors) ### 对象 __str__
return render(request, "login.html", {'obj':obj})
5.html中对于返回值进行渲染
login.html
渲染方式一:
<form action="/login/" method="post">
username: <input type="text" name="username">{
{ obj.errors.username.0 }}<br>
password: <input type="password" name="pwd">{
{ obj.errors.pwd.0 }}<br>
<input type="submit"