python 使用get_argument获取url query参数
ornado的每个请求处理程序,我们叫做handler,handler里可以自定义自己的处理程序,其实也就是重写方法,如post,get,get_current_user,send_error等等,这里我们只讲get和post的自定义。
我们都知道,在Tornado里,获得用户的输入,都是一个get_argument搞定,似乎很顺理成章:
1
2
3
|
def post( self ): nowamagic = self .get_argument( 'nowamagic' ) self .write( nowamagic ) |
先介绍一点基本知识。我们来看看这么一个URL:http://www.nowamagic.net/academy/detail/13321002?page=1#comment
1
2
3
|
>>> 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方法可以设置默认值,也可以设置是否删除两端的空格。
源码声明如下:
1
2
|
get_argument( self , name, default = _ARG_DEFAULT, strip = True ) get_arguments( self , name, strip = True ) |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://www.nowamagic.net/academy/detail/1332605