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)
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!