Django——form表单

制作一个Django的form表单项目——一个登陆注册的项目;
制作过程:建模(form.py+model建模)—>views表单建立(两个函数:StudentExample + ajaxPostData)
form表单的作用:

表单在网页中主要负责数据采集功能,也就是和里面包含的数据将被提交到服务器或者电子邮件里。
一个表单有三个基本组成部分:
表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
表单按钮:包括提交按钮、复位按钮和一般按钮。

input元素

form表单中input标签是一个很重要的标签。我们可以理解为form表单的倚天剑,神之标签。
input表单元素它的常用属性有type,name,id,value,还有很多其它的属性。 其中type最为重要,他决定了input的属性!
一、关于name属性
1、name 属性规定 input 元素的名称。
2、name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据。
3、只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。
二、关于type属性
1、文本框

<form> 
<input type="text" name="a"> 
</form> 

在这里插入图片描述
运行这段代码,我们能看见一个简单的文本框,可以在里面输入数据,如果你想使这个文本框里显示固定的数值,就添加value属性,比如这样:

<form> 
<input type="text" name="a" value="请输入手机号码"> 
</form> 

在这里插入图片描述
2、密码字段

<form> 
<input type="password" name="a"> 
</form> 

在这里插入图片描述
3、单选按钮
我们在填写表单的时候常常会面临单选的情况,比如当你选择性别的时候,只能二选一。

<form> 
<input type="radio" name="sex" value="man">男 
<input type="radio" name="sex" value="woman">女 
</form> 

在这里插入图片描述
无论有几个选项,你都只能选择一个,所以它的名称叫做单选。
那么怎么实现radio分组呢,关键在于name属性。

<form> 
<input type="radio" name="sex" value="male"> 男 <br> 
<input type="radio" name="sex" value="female"> 女<br> 
<input type="radio" name="student" value="yes"> 是学生<br> 
<input type="radio" name="student" value="no"> 不是学生<br> 
</form>

在这里插入图片描述
4、复选按钮
上面提到了单选的情况,现在我们来看多选,比如选择爱好的时候,你可能会喜欢阅读,也喜欢游泳。

<form> 
<input type="checkbox" name="hobby" value="reading">阅读 
<input type="checkbox" name="hobby" value="swimming">游泳 
<input type="checkbox" name="hobby" value="listening">听歌 
</form>

在这里插入图片描述
5、提交按钮
当用户点击提交时,表单的内容会被传送到action属性值指定的位置。
此时type=“submit”

<form action="html.php method="get"> 
<input type="submit" name="a" value="提交"> 
</form> 

在这里插入图片描述
6、hidden

<input type="hidden value="这是条隐藏的信息,用户看不见,服务器看得见" />

定义隐藏字段,
隐藏字段对于用户是不可见的。隐藏字段通常会存储一个默认值,用户不能在页面上看见。
一般用于识别该用户是否拥有合法的操作权限,提高了数据的安全性。

三、placeholder 属性的作用
用来在文本框中显示提示,当用户开始输入内容,提示文字会消失,如下所示:

<textarea placeholder="请介绍自己..."> 
</textarea> 

在这里插入图片描述

form表单在前端界面将我们要获取和需要请求的数据进行分类,并定义属性。在django后端项目中,我们在view界面通过POST或者GET方法请求这些数据就更容易了


post 和 get 方法的区别?

两种最常用的 HTTP 方法是:GET 和 POST。
GET : 从指定的资源请求数据。

POST : 向指定的资源提交要被处理的数据。

  • 通俗的理解是:GET在浏览器回退时是无害的,而POST会再次提交请求。
  • GET产生的URL地址可以被收藏为书签,而POST不可以,因为你提交时的URL和原来的一模一样,不会有改变,而GET是将你提交的信息重新组装成一个新的URL,这个一个只属于你的,独一无二的URL。
  • GET请求在URL中传输的参数是有长度限制的,但是POST没有。
  • GET比POST更不安全,因为你的参数直接暴露在了URL上(参见第二条解释),所以不能用来传输需要保密的信息,比如密码之类的。访问数据以键值对的形式出现:www.baidu.com/ ? mail=26111999@qq.com 我们在view中访问时,request.GET.get(“mail”) 就可以请求到这个qq邮箱的数据了
  • GET参数通过URL传递,而POST参数放在HTTP请求的body中。
  • GET产生一个TCP数据包,而POST会有两个数据包,因为GET方式会把HTTP头文件和数据一起打包发过去,而POST则是先发头文件。然后接收到浏览器返回的100后才接着发数据。
  • 网络环境差的时候,POST方法更占优势,因为它能最大限度地保证数据的完整性

以上

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值