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组件内置的正则校验器