python 使用get_argument获取url query参数

yipeiwu_com6年前Python基础

python 使用get_argument获取url query参数

ornado的每个请求处理程序,我们叫做handler,handler里可以自定义自己的处理程序,其实也就是重写方法,如post,get,get_current_user,send_error等等,这里我们只讲get和post的自定义。

我们都知道,在Tornado里,获得用户的输入,都是一个get_argument搞定,似乎很顺理成章:

def post(self):
	nowamagic = self.get_argument('nowamagic')
	self.write( nowamagic )

先介绍一点基本知识。我们来看看这么一个URL:http://www.nowamagic.net/academy/detail/13321002?page=1#comment

>>> import urlparse
>>> urlparse.urlparse('http://www.nowamagic.net/academy/detail/13321002?page=1#comment')
ParseResult(scheme='http', netloc='www.nowamagic.net', path='/academy/detail/13321002', params='', query='page=1', fragment='comment')

url由scheme(协议),netloc(主机),path(路径),params(最后路径的参数),query(查询字段),fragment(锚)组成。

下面我们要获取URL里的GET参数,也就是获取url query中的参数,怎么办呢?

对于单一的值,在get和post中调用self.get_argument("name", "default")。

对于多选的值,调用self.get_arguments("name")即可。

get_argument方法可以设置默认值,也可以设置是否删除两端的空格。

源码声明如下:

get_argument(self, name, default=_ARG_DEFAULT, strip=True)
get_arguments(self, name, strip=True)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

Python中的迭代器漫谈

问题是在Python中进行循环的时候产生的,熟悉Python的都知道,它没有类似其它语言中的for循环, 只能通过for in的方式进行循环遍历。最典型的应用就是通过range函数产生一...

Python判断一个三位数是否为水仙花数的示例

如下所示: daffodil = int(input('请输入一个三位数:')) if daffodil == pow(daffodil // 100 , 3) + pow(daff...

python插入数据到列表的方法

本文实例讲述了python插入数据到列表的方法。分享给大家供大家参考。具体如下: list = ["red","green"] list.insert(1,"blue") asser...

对比Python中__getattr__和 __getattribute__获取属性的用法

相信大家觉得大多数时候我们并不太需要关注getattribute和getattr的一些细节(至少我自己吧:)), 一般情况下消费我们自定义的类的时候,我们对类的结构都了解,不会刻意偏离,...

django-rest-framework 自定义swagger过程详解

django-rest-framework 自定义swagger过程详解

前言 之前的文章编写了一个返回json的例子,直接用浏览器进行get请求虽然成功了, 但是接口文档的样式很难看, 不好用. 而且提示没有访问权限. 我们一般都希望能够直接在接口文档中...