我是Bottle的新手。我用以下途径编写了一个应用程序:
@route('/search?<querystring>')
然而,对URL的GET请求
http://0.0.0.0:5000/search?query=test
引发404错误。这可能与URL中的问号有关,但我无法弄清楚如何解决这个问题。使查询字符串变量更大以包含问号不起作用,因为它似乎只能捕获导致问号的字符。有谁知道如何解决这个问题?
谢谢!
答案 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,但我通常会使用后者。)