python 使用get_argument获取url query参数

686次阅读  |  发布于5年以前

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)

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8