尽管路线,Bottle GET仍会抛出404错误

时间:2013-10-07 19:45:57

标签: python bottle

我是Bottle的新手。我用以下途径编写了一个应用程序:

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

然而,对URL的GET请求

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

引发404错误。这可能与URL中的问号有关,但我无法弄清楚如何解决这个问题。使查询字符串变量更大以包含问号不起作用,因为它似乎只能捕获导致问号的字符。有谁知道如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

Bottle的路线仅匹配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,但我通常会使用后者。)