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)
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答