您的位置:首页 > 产品设计 > UI/UE

使用get_argument获取url query参数

2015-02-02 21:49 363 查看
Chapter: Tornado表单处理

1. 使用get_argument获取url
query参数

2. 为何get_argument不区分POST与GET?

3. get_argument返回unicode数据类型的问题

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

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

1
def
post(
self
):
2
nowamagic
=
self
.get_argument(
'nowamagic'
)
3
self
.write(
nowamagic)
先介绍一点基本知识。我们来看看这么一个URL:http://www.nowamagic.net/academy/detail/13321002?page=1#comment

1
>>>
import
urlparse
2
>>>
urlparse.urlparse(
'http://www.nowamagic.net/academy/detail/13321002?page=1#comment'
)
3
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方法可以设置默认值,也可以设置是否删除两端的空格。

源码声明如下:

1
get_argument(
self
,
name, default
=
_ARG_DEFAULT,
strip
=
True
)
2
get_arguments(
self
,
name, strip
=
True
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: