表单是搜集用户数据信息的各种表单元素的集合,其作用是实现网页上的数据交互,比如用户在网站输入数据信息,然后提交到网站服务器端进行处理(如数据录入和用户登录注册等)。
网页表单是Web开发的一项基本功能,Django的表单功能由 Form 类实现,主要外为两种:diango.forms.Form 和 django.forms.Modellorm,前者是一个基础的表单功能,后者是在前者的基础上结合模型所生成的数据表单。
接下来带各位了解一下表单
传统的表单生成方式是在模板文件中编写 HTML 代码实现,在 HTML 语言中,表单由 <form> 标签实现。表单生成方式如下:
<!DOCTYPE html> <html> <body> # 表单 <form action="" method="post"> First name:<br> <input type="text" name="fname" value="Mickey"> <br> Last name:<br> <input type="text" name="lname" value="Mouse"> <br><br> <input type="submit" value="Submit"> </form> # 表单 </body> </html>
一个完整的表单主要由 4 部分组成:提交地址,请求方式、元素控件和提交按钮,分别说明如下:
-
提交地址(form 标签的 action 属性)用于设置用户提交的表单数据应由哪个路由接收和处理。当用户向服务器提交数据时,若属性 action 为空,则提交的数据应由当前的路由来接收和处理,否则网页会跳转到属性 action 所指向的路由地址。
-
请求方式用于设置表单的提交方式,通常是 GET 请求或POST 请求(剩余6种请求本人之前讲过,这里不在叙述),由 form 标签的属性 method 决定。
-
元素控件是供用户输入数据信息的输入框,由 HTML 的 <input> 控件实现,控件属性 type 用于设置输入框的类型,常用的输入框类型有文本框,下拉框和复选框等。
-
提交按钮供用户提交数据到服务器,该按钮也是由 HTML的 <input> 控件实现的。但该按钮具有一定的特殊性,因此不归纳到元素控件的范围内。
在模板文件中,通过 HTML 语言编写表单是一种较为简单的实现方式,如果表单元素较多或一个网页里使用多个表单,就会在无形之中增加模板的代码量,对日后的维护和更新造成极大的不便,为了简化表单的实现过程和提高表单的灵活性,Django也提供了定善的表单功能。Django将表单交由视图类FormView使用,从而在浏览器上生成网页表单。
希望对各位有帮助。