我是Bottle的新手。我編寫的應用程序有以下途徑:Bottle GET儘管路由拋出404錯誤
@route('/search?<querystring>')
然而,一個GET請求URL
http://0.0.0.0:5000/search?query=test
拋出一個404錯誤。這可能與URL中的問號有關,但我無法弄清楚如何解決這個問題。使查詢字符串變量更大以包含問號不起作用,因爲它似乎只能捕捉到問號前的字符。有誰知道如何解決這個問題?
謝謝!
我是Bottle的新手。我編寫的應用程序有以下途徑:Bottle GET儘管路由拋出404錯誤
@route('/search?<querystring>')
然而,一個GET請求URL
http://0.0.0.0:5000/search?query=test
拋出一個404錯誤。這可能與URL中的問號有關,但我無法弄清楚如何解決這個問題。使查詢字符串變量更大以包含問號不起作用,因爲它似乎只能捕捉到問號前的字符。有誰知道如何解決這個問題?
謝謝!
查詢字符串不是路由的一部分。該路由僅爲/search
,查詢字符串可從request.query
訪問。
瓶子的路線將只匹配URI 路徑。我想你想要的是沿着這些線路的東西更多:
from bottle import request
@route('/search')
def search():
query = request.params.get('query')
# foo = request.params.get('foo') # and so on
return 'Your query value was: {}'.format(query)
(如@DanielRoseman正確地指出的那樣,你可以使用request.query代替request.params,但我通常使用後者。)