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)
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!