day59 from表单详解,HttpResponse,JsonResponse

form表单详解

 

form表单

form是一个复杂的系统标签,其内部又可包含很多的一些输入标签

例如input 输入文本标签  checkbox 多选标签等等

form表单有几个属性我们需要注意一下

  1:action属性,里面写的是url链接,接就是表单提交的地址

  2:method属性,里面写的是数据提交的方式,可以写入get或者post

  3:enctype属性,提交数据的编码格式

form表单中的标签的前后台交互

form表单被我们应用在前后台交互的环节的,里面的值可以在后台通过某些key取出来

下面就来讲解不同标签取值的方法

1. input 标签 
input标签我们最为常见,里面有三个属性比较重要
  a. type 他是代表input的类型
  b. name 他就是后台取值的依据(key)
  c. val 他是我们输入的值,也是后台需要的值
  <input type="" name="">

然后我们根据type的类型,又可以把input进行细分

  a. text 表示普通的文本,明文输入
  b. password 输入的也是文本,密文输入
  c. number 输入的是数字,不是数字不让输入
  d. submit 提交按钮,提交form表单的内容
  e. button 普通的按钮
  f. radio 单选框,我们需要注意的是单选框的所有的name值必须相同
      如果name不相同,就说明不在同一个选择方位,也就不存在单选,然后想要在后台取到他的值,

      你必须在定义的时候给附上一个值给value,这样才能取到值
  g. checkbox 复选框,内容和单选框一样
  h. file 选择文件,可以选择文件提交给后台

以上基本是input的所有类型,需要注意几个点
  1.取值都是通过name进行取值,所以必须给name赋值
  2.文本类型想要附上初始值,直接在value中加入值就可以
  3.选择框如果想要默认选中谁,那就在谁的标签中加入checked属性

2. select 标签
select标签是一个下拉框的形式让用户进行选择选项
所以select标签中必须包含option标签才能显示属性
形式为:
<select>
<option></option>
<option></option>
</select>

然后select中有全局属性name,这个name是后台又来进行取值的
每个option标签的文本内容是显示给用户看的,我们需要取的是option标签中的value属性,所以在开始必须给option的value赋值
后台通过select的name取值,直接取到的就是对应option的value

如果我们向让他默认选择某个option,可以在option标签中加入selected属性,如果都不加,默认是显示第一个

3. button 按钮标签
新出的标签,与input中type为button的按钮一样

4. textarea 文本框标签

与input中的text一样都是输入文本的,但是textarea标签没有字数的限制,并且输入框可以拖拉。

 

HttpResponse与JasonResponse

 

两者的含义

我们都知道后台给前台返回的数据都是字符串类型,那么怎么返回成为一个问题

HttpResponse与JasonResponse都是django中后台给前台返回数据的方法,

并且他们最后走的都是http协议

两者的区别

不同的方法还是有点区别的,我们后台给前台返回数据的时候需要通过json格式的

字符串进行传输,因为前后台都有对json格式字符串进行操作的方式

他们的区别就是HttpResponse需要我们自己前后台进行序列化与反序列化

而JasonResponse则把序列化和反序列化封装了起来,我们直接传入可序列化

的字符串,在前台就能收到对应的数据

使用的方法

ps:后台返回的数据都需要有固定的格式,包含状态码以及信息,状态码为公司自定义

res = {"code":None, "msg":None}

1、HttpResponse

后端代码

复制代码
# 先定义出返回数据的格式
res = {"code": None, "data": None}
# 添加返回的数据
res["code"] = 10000
res['data'] = "success"
# 返回
return HttpResponse(json.dumps(res))
复制代码

前端代码

js反序列化:
res = JSON.parse(data);
序列化
JSON.stringify(res)

2、JasonResponse

后端代码

复制代码
# 先定义出返回数据的格式
res = {"code": None, "data": None}
# 添加返回的数据
res["code"] = 10000
res['data'] = "success"
# 返回
return JsonResponse(res)
复制代码

前端代码

  直接返回回去的值就是对应的数据类型,不需要过多操作

转载于:https://www.cnblogs.com/jixu/p/11173342.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值