0

我是瓶子的新手。我用以下路线编写了一个应用程序:

@route('/search?<querystring>')

然而,对 URL 的 GET 请求

http://0.0.0.0:5000/search?query=test

抛出 404 错误。这可能与 URL 中的问号有关,但我不知道如何解决此问题。使查询字符串变量更大以包含问号是行不通的,因为它似乎只捕获通向问号的字符。有谁知道如何解决这个问题?

谢谢!

4

2 回答 2

3

查询字符串不是路由的一部分。路由只是/search,查询字符串可以从request.query.

于 2013-10-07T19:50:37.357 回答
1

Bottle 的路由只会匹配 URI path。我认为你想要的是更多的东西:

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,但我通常使用后者。)

于 2013-10-08T10:41:47.073 回答