假设url:http://0.0.0.0:18082/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"}":""}
即,其内容包含了?后的参数和值,同时也包含了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
 
另外,bottle.request.forms,返回表单中所有的k,v,即:{“username”:"123","password":"324"}

python bottle学习(四)request.quest/query_string/params/body等方法介绍的更多相关文章

  1. request.quest/query_string/params/body等方法介绍

    假设url:http://192.168.1.111:8080/api/cluster/group?wzd=111&abc=cc 方法类型:POST,body是{"name" ...

  2. Python基础学习四

    Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...

  3. Python Tutorial 学习(四)--More Control Flow Tools

    4.1 if 表达式 作为最为人熟知的if.你肯定对这样的一些表达式不感到陌生: >>> x = int(raw_input("Please enter an intege ...

  4. python bottle学习(三)动态路由配置(通配符)

    from bottle import (run, route, get, post, default_app, Bottle) @route('/', method='GET') @route('/i ...

  5. python bottle学习(二)加载配置文件

    from bottle import (run, route, get, post, default_app, Bottle) """ 首先获得一个app对象,有两种方法 ...

  6. python+django学习四

    1.setting.py中设置好   STATIC_URL = '/static/'STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')] 前端文件存 ...

  7. 【Python基础学习四】字符串(string)

    Python 字符串 字符串是 Python 中最常用的数据类型.可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'hello' va ...

  8. python bottle学习(一)快速入门

    from bottle import (run, route, get, post, put, delete) # bottle中添加路由的两种方法 # 第一种,使用route装饰器,需要指定meth ...

  9. Python基础学习四 列表、元组、字典、集合

    列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...

随机推荐

  1. Visual studio之C# 利用Settings保存COM口配置信息

    背景 利用C#做一个串口通信项目,客户需求保存串口COM口的配置信息,在此利用Settings来进行保存. 正文 ".Settings"的创建 点击项目 --> 添加新项 - ...

  2. Hibernate 主配置文件详解

    摘要: 版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5595870.html 一.主配置文件命名规则 1.默认名称: ...

  3. CSS3图片折角效果

    本篇文章由:http://xinpure.com/css3-picture-angle-effect/ 图片折角效果主要是通过设置 border 属性实现的效果 效果预览 效果解析 假设我们将一个元素 ...

  4. jq 遍历元素 筛选

    var productInfo = $.grep(productData, function (value) { return value.productInfo.pId == favourite.p ...

  5. web开发中常见的安全漏洞及避免方法

    1.安全攻击 1.SQL.HTML.JS.OS命令注入 2.XSS跨站脚本攻击,利用站内信任的用户,在web页面插入恶意script代码 3.CSRF跨站请求伪造,通过伪装来自信任用户的请求来利用受信 ...

  6. Android---Handler消息处理机制

    搞Android的人都知道.android是不同意你在子线程中更新UI操作的.这主要出于线程安全方面的考虑.通常的做法是在主线程中创建一个Handler对象,在子线程中创建一个Message对象.该M ...

  7. C语言控制台打印3D爱心图案

    非常多程序猿都认为自己的编程工作十分的鼓噪乏味.一整天面对的都是一些写不完的代码和改不完的Bug.今天我们要给大家分享一些有趣的C语言代码,也许能够为你无聊的工作带来一丝乐趣. 这些代码能够完毕几个不 ...

  8. Oracle学习-Power Designer、visio 2003、Oracle sql developer、OEM、expdp

    Oracle的体系太庞大了.对于刚開始学习的人来说,难免有些无从下手的感觉. 经过一学期的学习对Oracle学习有了一些深入的了解,由于之前学习过Oracle的一些主要的知识.所以学习起来上手比較快一 ...

  9. 删除Git记录里的大文件

    删除Git记录里的大文件 仓库自身的增长 大多数版本控制系统存储的是一组初始文件,以及每个文件随着时间的演进而逐步积累起来的差异:而 Git 则会把文件的每一个差异化版本都记录在案.这意味着,即使你只 ...

  10. php-fig组织psr标准

    psr规范 基本代码规范,本篇规范制定了代码基本元素的相关标准,以确保共享的PHP代码间具有较高程度的技术互通性. 关键词 “必须”(MUST). “一定不可.一定不能”(MUST NOT). “需要 ...