django框架基础-django的form表单-长期维护-20200113
################## form表单 #######################
################## form表单 #######################
################## form表单 #######################
################## form表单 #######################
1,form组件
之前web开发的模式,以注册为例
1,要有一个注册页面,然后有一个form表单 ---->html代码
2,数据提交到后端,做校验, ---->数据有效性校验,
3,把校验的提示信息,展示在页面上,--->校验信息返回,并保存原来的值
这种展示错误信息,可以使用ajax的方式,也是可以使用字符串填充的方式,就是数据渲染,
关于校验:
1,前端通过js校验,比如数据输没输,格式是否正确,都是可以前端校验的,
2,数据准确性的需要后端做,
这两个都是前端可有可没有,但是后端一定要有校验,前端的js可以被绕过,而且可以禁用,所以后端一定要有校验,
最好前后端都校验,这样一部分前端可以校验的,可以减轻服务端的压力,因为有些不需要往后端发请求就可以校验了,
疑问:::这种在前后端分离的情况下,功能基本就是鸡肋啊,用不到这个功能,
################################################################
2,form组件的用法
1,from django import forms
2,定义一个form类
class reg(forms.Form):
user=forms.Charfied(max_length=12)
user=forms.Charfied(max_length=12)
生成HTML:
3,实例化一个form对象,
4,传递到模板语言中,
调用对应的方法:
三种方式:
1,{{ form_obj.as_p }} 调用form对象的方法
2,单独写
{{ form_obj.pwd.label }}
{{ form_obj.pwd }}
5,使用form组件做校验
from_obj=regForm(request.POST)
form_obj.is_valid()
3,form组件常用的字段,
initial初始值,input框里面的初始值。
error_messages
password
radioSelect
单选Select
多选Select
单选checkbox
多选checkbox
4,form组件字段校验,
写一个注册页面的功能,
有用户名,密码和确认密码,后端需要使用form组件的方式去验证两个密码是否一致,验证成功之后,需要把数据存入数据库,
5,form组件内置的正则校验器