FLask之request.quest、query_string、params、body 介绍

假设
  • URL = http://192.168.1.111:8080/api/cluster/group?wzd=111&abc=cc
    请求方式 = POST
    body = {“name”:“abc”}
1.request.query

得到一个bottle的FormsDict对象,该对象可以转化为字典,里面的内容是:
{“wzd”:“111”,“abc”:“cc”},即,是url中后面的参数

2.request.params

也是得到FormsDict对象,转化为字典后,其内容是:
{“wzd”:“111”,“abc”:“cc”,"{“name”:“abc”}":""}
即,其内容包含了url后的参数和值,同时也包含了body中的值,要注意的是,它把body中所以的参数作为一个key存入了。

3.request.body

返回一个StringIO对象,通过read方法取出的数据是body里的所有值,不管body里是不是json该方法都原样返回body里的所有内容。对本例而言是返回:{“name”:“abc”}

4.request.query_string

它得到的是url中 ? 后面所有的值,最为一个字符串,即:wzd=111&abc=cc

5.request.json

当请求的Content-Type`` 是`application/json的时候,该方法返回的是body中的json串,如果body中不是json会抛出异常:ValueError: No JSON object could be decoded,对应本例,返回:{“name”:“abc”}

6.request.form
  • 有这么一个表单:
	<form action="/login" method="post">
	Username: <input name="username1" type="text" />
	Password: <input name="password1" type="password" />
	<input value="Login" type="submit">
	</form>

那么要获取username/password有如下方法:
方法一:
username = request.forms.get(‘username1’) # 对应的是Username输入框中的name属性
password = request.forms.get(‘password1’) # 对应的是password输入框中的name属性
方法二:
username = request.POST.get(‘username’)
password = request.POST.get(‘password’)
并且,上面两种get方法都可以跟一个默认值,当username或者password不存在的时候返回设置的默认值,如:username = request.POST.get(‘username’,‘abc’),当username不存在的时候,返回abc,如果不设置,返回none

参考:https://www.cnblogs.com/baojiao/p/9336857.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值